Использование Apache Lucene Solr для полнотекстового поиска - PullRequest
0 голосов
/ 01 февраля 2012

Мы планируем разработать веб-приложение, основной изюминкой которого будет поиск введенного пользователем текста (полнотекстовый поиск). Мы планируем использовать для этого какой-то фреймворк PHP и APACHE Lucene Solr? Насколько он отличается от поиска в Hibernate? Какой вариант лучше? Какие вещи следует иметь в виду в отношении базы данных, если я хочу иметь в основном полнотекстовый поиск в БД? Какую PHP-фреймворк лучше всего использовать с APACHE Lucene? Zend предоставляет некоторые дополнительные компоненты для использования с Lucene. Аналогично, в Symfony есть плагин для использования lucene. Этот вопрос носит весьма общий характер, и поэтому любые предложения относительно идеи разработки веб-приложения и его оптимизации будут очень полезны.

Ответы [ 2 ]

3 голосов
/ 01 февраля 2012

Apache Solr работает в веб-контейнере Java (Tomcat, Jetty ...) и не использует БД, но сохраняет его непосредственно в файловой системе в индексных файлах. Связь вашего приложения PHP с сервером Solr (работающим на том же сервере на другом порту или на другом сервере) осуществляется через HTTP (XML, JSON). Вам необходимо включить этот вид связи в вашем приложении PHP. Существует несколько реализаций для соединения PHP с сервером Solr, таких как Solarium .

Компонент Zend, на который вы ссылаетесь, - это, вероятно, Zend Search, реализация алгоритма Apache Lucene (так что вы пропускаете часть Java), но вы не можете использовать преимущества Solr.

0 голосов
/ 02 февраля 2012

Solr имеет достаточно функций, чтобы использовать его, имеет полнотекстовый поиск, выделение совпадений, граненый поиск, динамическую кластеризацию, кэширование, запросы Range и геопространственный поиск.Мы работаем над нашим сайтом CMS поверх Solr, мы можем обрабатывать все типы поисковых запросов в Solr.

...