поиск слова в базе данных - PullRequest
1 голос
/ 14 июля 2009

Я храню вопросы и ответы в базе данных, такой как часто задаваемые вопросы, и я хочу позволить пользователю выполнять поиск. так, например, пользователь будет вводить «как бла бла бла», а я буду искать каждое слово и пренебрегать общими словами, такими как «the», «to», «is» ....

так что это была моя идея, вы думаете, это хорошая идея или вы предлагаете что-то лучшее? и как искать одно слово в базе данных sql? Должен ли я получить набор данных из таблицы, например, итерировать по нему и получить вопросы, которые я хочу?

Ответы [ 4 ]

1 голос
/ 14 июля 2009

Lucine.net api должен помочь, это отличный API с открытым исходным кодом, предоставляемый apache, который индексирует предоставленные вами документы и выполняет поиск в этих документах в зависимости от ваших критериев

0 голосов
/ 15 июля 2009

В Oracle у вас есть Oracle Text . Это позволяет выполнять мощный поиск текста в таблицах.

0 голосов
/ 14 июля 2009

Проблема создания индекса решалась много раз.

Apache Lucene довольно широко используется и может индексировать ваши таблицы. Многие из основных баз данных имеют возможности полнотекстовой индексации или надстройки, которые вы можете найти.

Все это потребует некоторой настройки и царапин с вашей стороны, но должно работать достаточно хорошо.

Если у вас довольно маленькая проблема, создание собственного индекса ключевых слов - интересный проект. Google "инвертированный индекс" или "текстовый индекс", чтобы начать и разбить хеш-таблицы ....

0 голосов
/ 14 июля 2009

Если вы используете MS SQL Server, вам может потребоваться поиск в полнотекстовом поиске. См. MSDN здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...