Каждый разработчик приложения рано или поздно сталкивается с таким важным вопросом, как выбор поискового движка. Можно сказать, что поисковый движок – это сердце API и главный элемент системы доступности контента, благодаря ему поиск и фильтрация происходят в разы быстрее, чем в реляционных базах данных.
Большинство разработчиков sphinxengine ушла несколько лет назад в форкнутый проект manticore search и активно его развивает.
Manticore нам не очень подходит. Слишком много возни при создании кластера, так как при добавлении новых нод нужно обновлять все конфиги или заранее просчитывать, сколько записей для шарда положить в одну ноду, где-то хранить эту схему шардирования и репликации. Для Elastic нам достаточно добавить новые ноды и подключить их к существующему кластеру без обновления всех конфигов. Кроме того, Elastic предоставляется облачным решением, благодаря которому можно разгрузить разработчиков, отдав всю работу по настройке железных нод с готовым движком на сторону.