Поисковые предложения - PullRequest
       8

Поисковые предложения

3 голосов
/ 26 августа 2010

Этот вопрос задавался различными способами ранее, но мне интересно, могли бы люди, которые имеют опыт с автоматическим предложением поискового запроса, предложить совет относительно наиболее полезных и эффективных подходов. Вот сценарий:

Я только начинаю на веб-сайте книги, которая представляет собой словарь терминов (примерно 1000 записей, в среднем 300 словосочетаний), многие из которых довольно неясны, и, вероятно, многие посетители сайта не знал бы, как пишутся слова. Издатель хочет сделать полнотекстовый поиск доступным для каждой записи. Итак, я надеюсь реализовать поисковик с исправлением орфографии. Основной сайт, вероятно, будет выполнен в среде PHP (или, возможно, Django) с базой данных MySQL.

Может ли кто-нибудь с опытом в этой области дать совет по следующим вопросам:

  • С установленным корпусом такого рода, я должен использовать что-то вроде Lucene или Sphinx для поисковой системы?
  • Насколько я могу судить, ни один из них не имеет встроенной функции предложения. Так что, похоже, мне нужно будет интегрировать одно или несколько из следующего. Каковы преимущества / недостатки:
    • Запросы предложений через API поиска Google
    • Алгоритм фонетического сравнения, такой как metaphone () в PHP
    • Система проверки правописания, такая как Aspell
    • Более простой сценарий правописания, такой как Peter Norvig's
    • Функция Левенштейна

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

1 Ответ

3 голосов
/ 26 августа 2010

Возможно, вы захотите рассмотреть Apache Solr , который является инкапсуляцией веб-службы Lucene и работает в контейнере J2EE, таком как Tomcat. Вы получите предложение по срокам, проверку орфографии, перенос, остановку и многое другое. Это действительно очень мило.

См. здесь для полного списка его функций, связанных с запросами.

Для Solr существует Django и PHP библиотек.

В любом случае, я бы не советовал использовать Google Suggest для такого специализированного корпуса, а с Solr он вам не понадобится.

Надеюсь, это поможет.

...