Блог

Сергей Сенаторов

Name: Sergey Senatorov

FullStack developer

elasticsearch

Что выбрать sphinx или elasticsearch

Дата публикации: 30.07.2019
Метки: elasticsearch, mysql, php, server, sphinx, блог

Некоторые не знают что выбрать sphinx или elasticsearch, есть даже разные сравнения, но на мой взгляд такое сравнение делать неправильно, эти продукты решают задачи на принципиально разных уровнях.

Основное отличие заключается в том, что sphinx – это поисковый движок, а elasticsearch – это уже сервис поверх поискового движка, эдакая надстройка над apache lucene. Сравнение lucene и sphinx было бы проводить намного правильней, но в этой заметке такого сравнения не будет.

С точки зрения разработчика вы можете выбрать как одно, так и другое. Sphinx легковесный быстрый движок, имеет свой sql подобный язык, которым удобно пользоваться в консольном режиме.

Подключиться и просмотреть индекс по словоформе можно примерно таким образом:

mysql -h 127.0.0.1 -P 9306
select id from index where match('школ'); show meta;
select where id => 234234

Elasticsearch имеет много разных плагинов и возможности для интеграции, а также предоставляет удобное RESTful api, через которое можно делать все необходимые операции (индексировать, конфигурировать, обновлять, удалять, получать).

Конейнер с elasticesearch можно поднять в docker-compose, например вот так:

elasticsearch:
  image: elasticsearch:6.5.4
  #command: elasticsearch -Des.network.host=0.0.0.0
  ports:
    - "9200:9200"
    - "9300:9300"

Читать запись полностью »