Подключение Elasticsearch
Elasticsearch - масштабируемый поисковый движок, позволяющий быстро в режиме реального времени хранить, искать и анализировать большие объёмы данных. В сервисе Webim этот движок используется в качестве дополнительного хранилища истории чатов, что позволяет уменьшить время обработки запросов к истории при большом количестве хранящихся в системе чатов. В данной статье приведена инструкция по подключению Elasticsearch к сервису Webim.
Инструкция по подключению
-
Установите Elasticsearch на отдельный физический или виртуальный сервер, следуя официальной инструкции по установке:
Требования к серверу Elasticsearch Вы можете найти там же, а также в этой статье.
Используя официальную документацию, Вы можете масштабировать поисковую систему на несколько серверов.
-
Обратитесь в техническую поддержку для получения дополнительного компонента сервиса, необходимого для передачи данных из аналитической СУБД (MySQL, PostgreSQL) в Elasticsearch -
es-storager
, и инструкций по его установке. -
Дополните конфигурационный файл
/etc/webim/db.json
конфигурацией сервера Elasticsearch:"dbs": { "elastic": { "default": { "type": "elastic", "host": "YOUR_IP_ADDRESS", "port": PORT, # default = 9200 "user": "elastic", "password": "ELASTIC_PASSWORD", "scheme": "http", "index_name_template": "{account}-{object}" } } }
В верхнем регистре указаны плейсхолдеры значений параметров, Вам необходимо заполнить их самостоятельно в соответствии с Вашей конфигурацией.
N.B.
В качестве используемой учётной записи Elasticsearch допускается любая учётная запись, обладающая всеми правами для БД.
-
Перезагрузите Chat Backend.
-
Активируйте в account config необходимые Вам параметры:
-
elasticsearch_history
: поиск в истории диалогов через Elasticsearch. Процесс поиска ускоряется, но данные о новых диалогах в истории будут появляться с задержкой; -
elasticsearch_threadprocessor
: экспорт протоколов чатов через Elasticsearch. При включении данные в протоколе диалога будут появляться в режиме реального времени. Для работы необходимо активироватьelasticsearch_history
.
-