ElasticSearch

ElasticSearch - поисковая NoSQL-бд

Установка

Через Docker:

docker run -p 9200:9200 -p 9300:9300 -d --name es -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.4.3

Иначе так

Конфигурация для supervisor:

[program:elasticsearch]
user=elasticsearch
command=/usr/share/elasticsearch/bin/elasticsearch
autostart=true
autorestart=true
environment=ES_HEAP_SIZE=2g

Помимо ElasticSearch, полезно поставить Kibana - веб-апп для просмотра содержимого бд

Ставится так

Конфигурация для supervisor:

[program:kibana]
user=root
command=/usr/share/kibana/bin/kibana
autostart=true
autorestart=true

Статус

Статус elasticsearch можно посмотреть так:

Описание метрик можно найти тут

status: yellow && unassigned_shards > 0

При запуске elasticsearch на одной машине без репликации появляются неназначенные шарды

Чтобы убрать их, нужно обнулить количество реплик для каждого индекса:

После выполнения этой команды, статус должен измениться на зеленый, а количество неназначенных шардов должно быть равно 0

API

Если нужно просто вставлять записи (например, логи), то достаточно юзать лоулевел-клиент:

Док появляется в индексе, далее выбираем индекс в Kibana:

и все - можно анализировать записи

Если нужно делать запросы к индексам в коде, то юзаем хайлевел-клиент

Last updated

Was this helpful?