Полнотекстовый поиск по Rails 3 - PullRequest
6 голосов
/ 28 ноября 2010

Я оцениваю методы полнотекстового поиска для Rails 3 ATM.У кого-нибудь здесь есть рекомендации?Мне кажется, что большинство известных методов (Sunspot, Sphinx, Ferret, Xapian) еще не готовы к Rails 3. Это так?На данный момент у меня осталось достаточно ресурсов на машине, где я хотел бы развернуть свое приложение, но, тем не менее, я бы хотел сохранить как можно более низкую нагрузку на поисковую систему.Я планирую использовать PostgreSQL, если это имеет какое-либо отношение здесь.

После некоторого чтения я почти уверен, что хотел бы использовать Sunspot или Xapian.Но если есть какое-либо иное (и лучшее) решение, пожалуйста, скажите мне :-) Особенно в отношении Sunspot, я не уверен, было ли разумно иметь полный Tomcat, работающий в дополнение к моему Rails-приложению.Кто-нибудь имеет опыт работы с этим созвездием?

Заранее спасибо, Ульф

Ответы [ 4 ]

6 голосов
/ 28 ноября 2010

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

Полнотекстовый поиск PostgreSQL анализирует близость слова для вычисления Релевантность и рейтинг и предлагает полезные функции, такие как выделение результатов поиска .

Он также знает правила нормализации, специфичные для языка, например, он знает, что игнорирует суффиксы множественного числа s и es в английском языке; поэтому поиск по «стране» также вернет выделенные результаты для «стран», почти так же, как это делает Google.

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

1 голос
/ 21 декабря 2010

Вы можете использовать sunspot с Rails3, нет проблем. Мы сделали это успешно, используя драгоценные камни sunspot / sunspot_rails (1.2.rc4). И не так уж сложно запускать Solr на сервере Tomcat.

0 голосов
/ 08 марта 2011

Sunspot готов к Rails3, мы уже используем его в нескольких приложениях Rails3.У меня был большой успех с Solr и Sunspot.Настолько, что мы начинаем серию блогов об этом

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

Для полнотекстового поиска вы должны использовать поисковую систему.Например, вы можете использовать библиотеку Lucene с jRuby.Если вы предпочитаете использовать стандартный Ruby (cRuby), вы можете использовать Solr.

Для рельсов есть также несколько плагинов Solr: например, начинание с http://wiki.apache.org/solr/SolRuby может быть хорошей идеей.

...