Полнотекстовый поиск со встроенным DB в Delphi

Основная проблема связана с вашим импортом. Существует опечатка, вы должны использовать вместо этого https, и вы должны указать вес шрифта, который вам нужен. 500 будет «средним», 700 «жирным» и 800 «лишним»

Кроме того, при указании веса шрифта в селекторе вы не используете строку, а одно из предопределенных значений или числовое значение. https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight

@import url('https://fonts.googleapis.com/css?family=Poppins:500,700,800');

h1, h2, h3, h4, h5, h6, p, a {
  font-family: 'Poppins', sans-serif;
}

h1 {
  font-weight: 800;
}

10
задан Jim McKeeth 6 April 2009 в 07:37
поделиться

14 ответов

У меня было большое использование успеха DiSQLite. Это имеет поддержку FTS и тонну других функций. У них есть Бесплатная версия и Профессиональная версия. Я полагаю, что Бесплатная версия делает FTS также. Я попробовал многие реализации SQLite для Delphi, и это - лучшее, которое я видел. Это компилирует прямо в Ваше приложение, таким образом, нет никаких внешних DLLs.

Я посмотрел на большое количество свободных библиотек там для встроенных баз данных в Delphi, и многие больше не поддерживаются, никогда не выпускались, или только работайте в Delphi5.

8
ответ дан 3 December 2019 в 16:11
поделиться

DBISAM полностью. Работы, очень серьезные, встроенные, полнотекстовое индексирование работает отлично (обширный личный опыт!)

ElevateDB является prob, также большим, но у меня нет прямого опыта с ним.

-1
ответ дан 3 December 2019 в 16:11
поделиться

Почему Вам был бы нужен полнотекстовый поиск этого? Я не использую Твиттер, bu я полагаю, что сообщения Твиттера являются 140 символами макс.? Они поместились бы в одно varchar поле. Вам не нужен полнотекстовый поиск для нахождения чего-то в таком поле.

0
ответ дан 3 December 2019 в 16:11
поделиться

Существует также DotLucene, который действительно требует, чтобы платформа.NET была установлена, но может быть легко загружен через .NET com пчела. Это идеально для поиска и имеет формат запроса, который характерен для большинства поисковых систем.

0
ответ дан 3 December 2019 в 16:11
поделиться

Sqlite является в значительной степени отдельным пользователем / единственное соединение только. Выполнение блокировки обновления вся база данных. Вы имеете дело с этим путем устанавливания значения тайм-аута для других соединений для ожидания (значение по умолчанию не является никаким тайм-аутом). Многопользовательский доступ может стать очень медленным и/или дать частый тайм-аут в зависимости от того, какое значение Вы используете.

Я использовал компоненты Asqlite из http://www.aducom.com/. Свободный и С открытым исходным кодом. В настоящее время не поддерживает d2009 взглядами, но он разрабатывается. Существует много других наборов компонента также, но я не использовал никакого другого.

Можно добавить полнотекстовый поиск к любому приложению Дельфи с помощью Рубикона (теперь под новым управлением по http://www.href.com/rubicon). Однако это не свободно :(

1
ответ дан 3 December 2019 в 16:11
поделиться

Я пошел бы с использованием Sqlite компоненты Aducom Sqlite, они легки работать с sqlite, чем DiSQLite, свободный и работа как компоненты TDataset, я голосовал бы за sqlite потому что:

  1. Это - очень быстрая и компактная база данных.
  2. Очень маленькое место, чуть приблизительно 200 КБ Dll.
  3. Это, может быть связан статичный при использовании с компонентами Aducom, таким образом, никакие потребности в не распределяют dll.
  4. Это создало в поддержке полнотекстового поиска.
  5. Это дико используется и используется во многих бесплатных приложениях и коммерческом применении как внешнее устройство хранения данных.
  6. Это имеет большую часть стандартного SQL, таким образом, большая часть Вашего знания в sql будет использоваться.
1
ответ дан 3 December 2019 в 16:11
поделиться

Я предложил бы, чтобы DBISAM или теперь вероятно, их более новый ElevateDB, сильно рассмотрели. От Вашего предыдущего опыта я ожидаю, что Вы знаете, что он не добавляет много размера к Вашему исполняемому файлу, является довольно быстрым, надежным, идеальным основанным на Delphi решением и имеет превосходную поддержку. За эти годы их диалект SQL был усовершенствован так, это теперь очень любезно с высокой степенью соответствия 2003 ANSI SQL.

DBISAM/ElevateDB - как Вы отмечаете не, открытый исходный код, но стоимость лицензирования на разработчика только (не на развертывание) поэтому, если существует только несколько разработчиков, включил стоимость, (по-моему), незначительно. Лицензирование стоимости особенно разумно, когда Вы рассматриваете уровень поддержки и скорости отклика, Вы входите в группы новостей DBISAM/Elevatesoft, где основной разработчик/владелец (Tim Young) активно вовлечен, ответив на вопросы и решив проблемы. Кроме стоимости собственного решения, существует, конечно, также беспокойство, законченное, выживет ли бизнес, и продукт продолжит разрабатываться и поддерживаться в будущем. Это - что-то, что необходимо взвесить для себя, но разработка кажется столь же сильной как всегда. Они имеют поставщиков.NET для своего дб и поддерживают кросс-платформенную разработку с FreePascal/Lazarus.

Один плюс к полнотекстовому поиску DBISAM то, что он тесно интегрируется в SQL. Таким образом, можно сделать единственное заявление SELECT, которое непосредственно объединяется обычный ГДЕ критерии на некоторых полях с критериями полнотекстового поиска на других. В зависимости от Ваших потребностей это - хорошая функция, которая делает это действительно простым и быстрым, чтобы сделать некоторые вещи, которые взяли бы больше работы с помощью другого fulltext решения. Я думаю большинство дополнительных решений, как Lucene и другие, которые могли бы использоваться с Firebird, не интегрируйтесь как тесно с регулярным SQL и ограничивайте Вас получением ряда записей с fulltext критериями только. Что-то как собственное дополнение Textolution для Firebird (http://www.textolution.com/ftsib_example.asp) похоже на него, мог разместить (вложенный) запрос создающего единственного комплекса, который применит и регулярные и fulltext критерии, но DBISAM делает это более изящно. И добавление собственного дополнения к виду дб с открытым исходным кодом поражений цель идти открытый исходный код, так или иначе.

Один недостаток полнотекстового поиска DBISAM/ELEVATEDB, я думаю, это - поддержки только использование 'И' и 'ИЛИ' условия, не имеет никакого поиска с расстоянием.

Я замечаю, что существует fulltext решение для SQLite, http://www.sqlite.org/cvstrac/wiki?p=FullTextIndex. Я никогда не использовал SQLite, но я знаю, что много людей любит его. Одна область, где я - вполне уверенный DBISAM/Elevatesoft, имеет преимущество, находится в многопользовательских приложениях, где устойчивая функциональность блокировки требуется, хотя это не обязательно несло бы любой вес вообще для однопользовательского настольного приложения.

1
ответ дан 3 December 2019 в 16:11
поделиться

Продолжите SQLite. Существует много СВОБОДНЫХ sqlite компонентов для Delphi. Некоторые из них прекратили быть активными проектами. Но одним знаменитым компонентом является ZeosDB. ZeosDB активно сохраняется, и его поддержка sqlite прекрасна также. В случае, если Вам нужна другая поддержка механизма DB, ZeosDB является ответом снова (он поддерживает MySQL, PostgreSQL, Межоснову, Firebird, MS SQL, Sybase, Oracle и SQLite).

2
ответ дан 3 December 2019 в 16:11
поделиться

Мы интегрировали DotLucene в одно из наших внутренних основанных на Delphi приложений, с помощью Гидры (Mike сделал работу над этим, тогда); если это - опция, мы хотим преследовать здесь, я уверен, что мы можем извлечь это и сделать ее допускающей повторное использование для этого проекта

2
ответ дан 3 December 2019 в 16:11
поделиться

Поскольку Полнотекстовый поиск Firebird смотрит на: http://www.firebirdfaq.org/faq328/

Leonardo.

3
ответ дан 3 December 2019 в 16:11
поделиться

Сервер базы данных Преимущества Sybase имеет единожды оплачиваемый механизм локального сервера (блокировка многопоточного и рекордного уровня), большие компоненты потомка Delphi TDataSet (включенный исходный код), и большой механизм полнотекстового поиска.

Способствуйте поддержкам полнотекстового поиска И, ИЛИ, НЕ, и операторы NEAR. Преимущество также обеспечивает СЧЕТ и скалярные функции SCOREDISTINCT, которые возвращают общее количество всех экземпляров слов в условии поиска.

Полнотекстовые индексы преимущества сохраняются в рекордное время обновления, что означает, что они не требуют, чтобы любой восстановил. Индексы находятся в сжатом формате; поэтому фактический индексный размер может быть намного меньшим, чем физические данные. Возможно выполнить полнотекстовые поиски на неиндексируемых данных, но это требует физического поиска рекордных данных и может быть намного медленнее. Индексируемые поиски используют растровые фильтры для оптимальной производительности.

Справка онлайн имеет все подробности до индексации опций и т.д.:

http://tinyurl.com/ctjoqg

4
ответ дан 3 December 2019 в 16:11
поделиться

Я знаю, что firebird имеет дополнение сфинкса для полнотекстового поиска (хотя согласно там сайту это 'далеко от реального "полнотекстового поиска"'), его бесплатный / открытый исходный код, но я не могу найти, что любая информация говорит, работает ли это со встроенной версией firebird.

3
ответ дан 3 December 2019 в 16:11
поделиться

NexusDB имеет бесплатную встроенную версию, и конечно это - собственный продукт Delphi.

Вот описание, он - реализация полнотекстового поиска.

2
ответ дан 3 December 2019 в 16:11
поделиться

У меня здесь есть частично работающее решение Delphi: http://sourceforge.net/projects/mutis/ , порт на Delphi of Lucene.

мэрство это работает нормально, но, к сожалению, было основано на реализации Delphi.NET смерти, поэтому требуется работа по обновлению до родной версии (да, это была большая ошибка, выбрав путь .NET :()

0
ответ дан 3 December 2019 в 16:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: