Полнотекстовый поиск с помощью PHP и Zend Framework - Lucene? - PullRequest
1 голос
/ 29 ноября 2010

Эй, я ищу способ сделать поиск в нашем приложении, написанном на PHP и с Zend Framework.Проблема, которую я хочу исправить, заключается в том, что некоторые люди пишут «Windows 95», а другие - «Windows95», другие - «Win 95» или «Win95».Я читал, что есть модуль Zend_Search_Lucene, но не знаю, правильный ли это путь.

У вас есть идеи?Он должен быть написан на PHP и должен хорошо масштабироваться, чтобы централизованное хранилище было бы очень приятным.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2010

Ну,

мой ответ не имеет ничего общего с Zend_Lucene, потому что, с моей точки зрения,

Мне нравится, как доктрина реализует свой полнотекстовый поиск, который они называют Text Analyzers, возьмитепосмотрите:

По умолчанию Doctrine использует Doctrine_Search_Analyzer_Standard для анализа текста.Этот класс выполняет следующие действия:

Удаляет стоп-ключевые слова (такие как «и», «если» и т. Д.). Многие часто используемые слова, такие как «и», «если» и т. Д., Не имеют значениядля поиска они удаляются, чтобы сохранить разумный размер индекса.Делает все ключевые слова строчными.При поиске слов «база данных» и «база данных» стандартный анализатор считается равным, поэтому стандартный анализатор строчными буквами включает все ключевые слова.Заменяет все не алфавитно-цифровые метки пробелами.В обычном тексте многие ключевые слова могут содержать не буквенно-цифровые символы после них, например «база данных».Стандартный анализатор удаляет их так, чтобы «база данных» соответствовала «базе данных».Заменяет все кавычки на пустые строки, так что «O'Connor» соответствует «oconnor»

source http://www.doctrine -project.org / projects / orm / 1.2 / docs / manual / search/ ru # вводная информация

Я полагаю, вы можете подготовить свой запрос перед передачей его в lucene и перед созданием индекса

0 голосов
/ 29 ноября 2010

Zend_Search_Lucene как модуль Zend Framework написан на PHP, но, насколько я знаю, он не корректирует ваши условия поиска. Apache Lucene , написанный на Java, обладает такими возможностями проверки орфографии. Смотрите "Вы имели в виду?" функция в Lucene.net .

...