2013-06-08 5 views
1

Я хочу использовать поиск из базы данных на своем веб-сайте, поэтому я думаю об эффективном алгоритме использования. Например, если я пытаюсь искать «Привет мое имя ххх» Я хочу, чтобы увидеть результаты:
Здравствуйте, меня зовут Джон
Здравствуйте, меня зовут Питер
Здравствуйте МРТ. ххх
Его зовут Питер
Он является здесьАлгоритм поиска в Интернете с несколькими словами

Так что я хочу, чтобы найти все данные из базы данных с частью этого текста и сортировать результат по количеству совпадающих слов.

Я сделал алгоритм, но я очень напуган, что он настолько сложный и медленный: Я разбил текст поиска на слова и использовал SQL-выбор с несколькими типами или командами. Затем я сохраняю результаты в списке. Затем я подсчитываю количество совпадающих слов в каждом результате и сортирую их по этому счету.
Проблема в том, что когда я попытаюсь найти длинный текст. Должен ли я использовать лучший алгоритм или мне следует что-то узнать о таких мыслях, как Sphinx

ответ

1

Для первых двух результатов простой поиск в регулярном выражении должен иметь возможность получать такие результаты. Для более поздних, вы можете использовать существующую библиотеку, например Google Search Appliance, которая может использоваться для поиска информации о базе данных.

Смежные вопросы