Требования
Elasticsearch версии 8.9.1 (другие версии не совместимы и не поддерживают требуемый плагин).
Настроенный экземпляр Elasticsearch (устанавливается клиентом любым удобным способом: напрямую на Linux, через Docker, и т.д.).
Доступ к Elasticsearch по HTTP(S).
API-ключ (если используется безопасный доступ).
1. Подготовка. Установка плагина для Elasticsearch
Плагин analysis-morphology предназначен для обработки текста на русском языке в Elasticsearch.
Установка в Docker-контейнере
Шаги:
- Остановите контейнер Elasticsearch:bash
docker stop <имя_или_id_контейнера>
- Перейдите в директорию Elasticsearchbash
docker cp elasticsearch-analysis-morphology-8.9.1.zip <имя_или_id_контейнера>:/tmp
- Выполните команду установки внутри контейнера:bash
docker exec -it <имя_или_id_контейнера> bash -c "bin/elasticsearch-plugin install file:/tmp/elasticsearch-analysis-morphology-8.9.1.zip"
- Перезапустите контейнер :bash
docker start <имя_или_id_контейнера>
- Проверьте установку:bash
curl http://localhost:9200/_cat/plugins
Установка на Linux (без Docker)
Шаги:
Остановите контейнер Elasticsearch:
bashdocker stop <имя_или_id_контейнера>
- Перейдите в директорию Elasticsearch
- Установите плагин:(заменитеbash
bin/elasticsearch-plugin install file:///tmp/elasticsearch-analysis-morphology-8.9.1.zip
/tmp/elasticsearch-analysis-morphology-8.9.1.zip
на актуальный путь к архиву) - Перезапустите службу Elasticsearch:bash
systemctl restart elasticsearch.service
- Проверьте установку:bash
curl http://localhost:9200/_cat/plugins
Настройка подключения в IQWiki
1. Укажите параметры подключения к Elasticsearch в конфигурационном файле IQWiki:
#ElasticSearchelastic_search: adresses: - http://<адрес или домен>:<порт> api_key: "<ваш API-ключ>" # опционально, если используется авторизация
2. Запустите скрипты миграции базы данных (вторая БД для Базы Знаний):
./bin/knowledgebase migrate
3. Запустите IQWiki:
./bin/knowledgebase.sh start
Проверка доступности Elasticsearch
Для проверки доступности сервера используйте команду:
curl -X GET "http://<адрес или домен>:<порт>"
Если включена авторизация, добавьте API-ключ:
curl -X GET "http://<адрес или домен>:<порт>" -H "Authorization: ApiKey <ваш API-ключ>"