Хорошее поисковое решение для Zend Framework + Doctrine + MySQL?

Я изучил встроенный поиск Doctrine, полнотекстовый поиск MySQL myisam, Zend_Lucene и sphinx, но все нюансы и детали реализации затрудняют разборку для меня, учитывая, что у меня нет опыта ни с чем, кроме поиск myisam.

Что мне действительно нужно, так это что-то простое, которое будет работать с Zend Framework и Doctrine (серверная часть MySQL, возможно, InnoDB). Мне не нужны сложные вещи, такие как подстановка слов, автозаполнение и т. Д. (Не то чтобы я был против таких вещей, если бы это было достаточно просто и было достаточно времени для реализации).

Главное - это возможность искать строки в нескольких таблицах базы данных и в нескольких полях с некоторыми базовыми критериями поиска (например, user.state. = CA AND user.active = 1). Размер базы данных будет начинаться примерно с 50 тыс. + Записей (старые данные выгружаются), самая большая отдельная таблица с возможностью поиска будет составлять около 15 тыс. Записей, и со временем она будет значительно увеличиваться.

Тем не менее, Zend_Lucene привлекает меня своей гибкостью (на случай, если мне понадобится мое поисковое решение для gorw в будущем) и тем, что он может анализировать файлы MS Office (которые будут загружены в мое приложение пользователями). Но его гибкость также усложняет настройку.

Я полагаю, что самым простым вариантом было бы просто использовать возможности поиска Doctrine, но я не уверен, сможет ли он справиться с тем, что мне нужно. И я не знаю, есть ли какой-нибудь вариант, который объединит мое стремление к простоте и мощности.

Какие поисковые решения вы бы порекомендовали мне изучить? И почему вы думаете, что это решение сработает в этой ситуации?


person Kyle Lowry    schedule 15.04.2011    source источник


Ответы (1)


Я бы рекомендовал использовать поисковую систему Solr.

Solr - это поисковый сервер предприятия с открытым исходным кодом, основанный на поисковой библиотеке Java Lucene, с API XML / HTTP и JSON, выделением совпадений, фасетным поиском, кэшированием, репликацией, веб-интерфейсом администрирования (который действительно здорово) и многие другие функции.

Он работает в контейнере сервлетов Java, таком как Tomcat.

Вы можете использовать solr-php-client < / a> для обработки запросов в php.

person Upvote    schedule 16.04.2011