Хорошее поисковое решение для Zend Framework + Doctrine + MySQL? - PullRequest
0 голосов
/ 16 апреля 2011

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

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

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

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

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

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

1 Ответ

1 голос
/ 16 апреля 2011

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

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

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

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

...