Что выбрать для мультиязычного поиска solr, sphinx, elastic или что еще?

Обязательное условие поддержка русского, английского и азиатских языков (китайский, корейский, японский). Решили сделать общение с сервисом средствами REST API.

Данные будут валиться в индекс с некоторой периодичностью от нескольких пользователей.

Есть опыт использования Sphinx и Solr.
У первого отличная скорость и качество поиска на русском языке, используя леммы, но "сложности" с перестройкой индекса. Не сказать чтобы непреодолимые, но значительно лучше чтобы все операции были скрыты от конечного пользователя системы безо всяких ночных перестроений индекса и прочего (знаю про rt и delta-индексы). Не использовал sphinx для поиска по нескольким языкам.

У второго rest api из коробки (как и у elastic), работа с русским и прочими языками по стемме. Скорость поиска и индексации ниже чем у Sphinx, но не нужно каждый раз перестраивать, мержить индекс, для меня это огромный плюс. Не использовал Solr для поиска по нескольким языкам.

C elasticSearch не работал.

Подскажите на чём остановиться?
  • Вопрос задан
  • 5330 просмотров
Пригласить эксперта
Ответы на вопрос 1
Вот Вы говорите, что работали со Sphinx, давайте будем отталкиваться от этого. По Вашему сообщению я сделал вывод, что единственное, что Вас останавливает в Sphinx - мнимая необходимость остановки сервиса и перестроение индексов. Спешу Вас обрадовать - этого делать не надо. Советую внимательно изучить официальную документацию(желательно от корки до корки, она не такая большая, как может показаться) и познакомиться с удивительным миром delta-index и rt-index. Они позволят Вам забыть остановку сервиса для перестроения индексов как страшный сон. Другое дело, что с ними не все в порядке, о чем так же подробно написано в документации.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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