Подтвердить что ты не робот

Выбор автономного полнотекстового поискового сервера: Sphinx или SOLR?

Я ищу автономный полнотекстовый поисковый сервер со следующими свойствами:

  • Должен работать как автономный сервер, который может обслуживать запросы поиска от нескольких клиентов.
  • Должна быть способна "индексировать объем" путем индексирования результата SQL-запроса: скажем "SELECT id, text_to_index FROM documents;"
  • Должно быть свободное программное обеспечение и должно работать в Linux с MySQL в качестве базы данных
  • Должно быть быстрым (исключает внутренний полнотекстовый поиск MySQL)

Альтернативы, которые я нашел, имеют следующие свойства:

  • Solr (на основе Lucene)
  • ElasticSearch (также основанный на Lucene)
  • Sphinx

Мои вопросы:

  • Как они сравниваются?
  • Я пропустил какие-либо альтернативы?
  • Я знаю, что каждый вариант использования отличается, но есть ли определенные случаи, когда я определенно не хочу использовать определенный пакет?
4b9b3361

Ответ 1

Я использую Solr успешно уже почти 2 года и никогда не использовал Sphinx, поэтому я явно предвзято. Однако я постараюсь, чтобы это было объективно, цитируя документы или другие люди. Я также отвечу на мой ответ: -)

Сходства:

  • Оба Solr и Sphinx удовлетворяют всем вашим требованиям. Они быстрые и предназначены для индексации и поиска больших тел данных эффективно.
  • Оба имеют длинный список сайтов с высоким трафиком, используя их (Solr, Sphinx)
  • Оба предлагают коммерческую поддержку. (Solr, Sphinx)
  • Оба предлагают привязки API-клиента для нескольких платформ/языков (Sphinx, Solr)
  • Оба могут быть распределены для увеличения скорости и емкости (Sphinx, Solr)

Вот некоторые отличия:

Похожие вопросы:

Ответ 2

Если вам не нужно расширять функциональность поиска любым проприетарным способом, Sphinx - ваш лучший выбор.

Преимущества Sphinx:

  • Разработка и настройка быстрее
  • Гораздо лучше (и быстрее) агрегация. Это была функция убийцы для нас.
  • Не XML. Это то, что в конечном итоге исключило для нас Солра. Нам приходилось возвращать довольно большие результирующие множества (думаю, сотни результатов), а затем объединить их сами, поскольку отсутствует агрегация Солра. Количество времени, затрачиваемого на сериализацию в и из XML, просто полностью убило производительность. Однако для небольших наборов результатов это было прекрасно.
  • Лучшая документация, которую я видел в приложении с открытым исходным кодом.

Преимущества Solr:

  • Может быть расширен.
  • Может ударить его напрямую из веб-приложения, то есть вы можете иметь автозаполненные поисковые запросы, которые попадают на сервер Solr напрямую через AJAX.

Ответ 3

Примечание. Есть много пользователей с одним и тем же вопросом.

Итак, чтобы ответить на вопрос:

Что и почему?

  • Используйте Solr, если вы намерены использовать его в своем веб-приложении (поисковая система сайта). Благодаря API, это, безусловно, окажется отличным. Вам определенно понадобится эта мощь для веб-приложения.

  • Используйте Sphinx, если вы хотите быстро найти тонны документов/файлов. Он также индексирует очень быстро. Я бы рекомендовал не использовать его в приложении, которое включает JSON или синтаксический анализ XML для получения результатов поиска. Используйте его для прямого поиска в dB. Он отлично работает на MySQL.

Альтернативы

Хотя это великаны, их гораздо больше. Кроме того, есть те, которые используют их для питания своих пользовательских фреймворков. Итак, я бы сказал, что вы действительно ничего не пропустили. Хотя есть elasticsearch, который имеет хорошую базу пользователей.

Ответ 4

Я использую Sphinx уже почти год, и это было потрясающе. Я могу индексировать 1,5 миллиона документов примерно за минуту на моем MacBook и даже быстрее на сервере. Я также использую Sphinx для ограничения поиска мест в определенных широтах и ​​долготах, и это очень быстро. Кроме того, как оцениваются результаты, очень удобно. Простота установки и настройки, если вы читаете учебное пособие или два. Почти статус 1.0, но их кандидаты на выпускники были прочными.

Ответ 5

Lucene/Solr, по-видимому, более характерна и с более долгими годами в бизнесе и гораздо более сильным сообществом пользователей. imho, если вы можете преодолеть начальные проблемы с установкой, поскольку некоторые, кажется, столкнулись (не мы), тогда я бы сказал, что Lucene/Solr - ваш лучший выбор.