полнотекстовый поиск php mysql:люцен, сфинкс или что?

StackOverflow https://stackoverflow.com/questions/942810

Вопрос

Это , по общему признанию, Похожие кому (но не дубликату) Сравнение полнотекстовых поисковых систем - Lucene, Sphinx, Postgresql, MySQL?, однако то, что я ищу, - это конкретные, поддерживаемые рекомендации, основанные на опыте работы с более чем одной из доступных систем (кажется, существует множество:"Я использовал lucene, но не sphinx", и наоборот).

Установка:Стандартный LAMP (Mysql 5.0, PHP 5).

MySQL:таблицы используют механизм InnoDB для ограничений внешнего ключа

Мы рассматриваем данные индексации, а не страницы.данные, подлежащие индексации, могут быть на нескольких языках (кодировка utf-8).

Ряд сравнений, с которыми я сталкивался (например http://blog.evanweaver.com/articles/2008/03/17/rails-search-benchmarks/) либо не совсем применимы (ferret - это порт lucene, но не то же самое, что Zend_Search_Lucene), либо они продвигают свои собственные системы / реализации (не совсем объективные).

Некоторые другие, с которыми я сталкивался (например, http://whatstheplot.com/blog/tag/lucene/ и http://pagetracer.com/2008/02/15/sphinx-and-lucene-search-engines-first-impressions/) дают очень разные результаты для производительности двух систем.

Кроме того, почти все, что я прочитал, практически игнорируется Ксапиан.Может быть, это тоже стоит рассмотреть?

Итак...Я надеюсь, что некоторые из вас здесь, на SO, имеют некоторый опыт работы с этим вопросом и могли бы помочь с некоторыми рекомендациями или указать мне правильное направление.

Это было полезно?

Решение

Одним из преимуществ Sphinx является то, что вы можете "вставить" его между вашими клиентами и сервером MySQL, и он будет "вмешиваться" только в запросы, конкретно адресованные к нему, прозрачно отскакивая от других MySQL - см., например эта статья.Является ли это преимуществом в вашем случае использования, лучше всего сказать вам!

Извините, у меня нет реального опыта работы с Xapian или Lucene - тем не менее, когда я читаю о том, как их развернуть, это звучит (для меня!) так, как будто это может стоить того, только если вы выявите существенные преимущества.В остальном, развертывание Sphinx "проще простого" в качестве "прокси" между вашими клиентами и вашим сервером MySQL кажется мне большой и существенной победой!

Другие советы

Я просмотрел Zend_Search_Lucene и Sphinx для проекта, который звучит похоже - поиск содержимого базы данных (в моем случае информации о книге).Я потратил около дня на изучение каждого из них.Как бы то ни было, я обнаружил, что Sphinx значительно проще в настройке и использовании.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top