Elasticsearch версии 8.9.1 (другие версии не совместимы и не поддерживают требуемый плагин).
Настроенный экземпляр Elasticsearch (устанавливается клиентом любым удобным способом: напрямую на Linux, через Docker, и т.д.).
Доступ к Elasticsearch по HTTP(S).
API-ключ (если используется безопасный доступ).
После установки нам необходимо перейти в файл конфигурации elasticsearch.yml и указать минимальные нобходимые параметры для работы без API ключа (который далее можно не указывать в конфигурации knowledgebase). ДАННЫЕ ПАРАМЕТРЫ НЕОБХОДИМЫ ДЛЯ ТЕСТИРОВАНИЯ В localhost на сервере LINUX
cluster.name: test-cluster node.name: node-1 network.host: 0.0.0.0 http.port: 9200 discovery.type: single-node # Отключаем настройки безопасности xpack.security.enabled: false xpack.security.transport.ssl.enabled: false xpack.security.http.ssl.enabled: false |
Шаги:
docker stop <имя_или_id_контейнера> |
docker cp elasticsearch-analysis-morphology-8.9.1.zip <имя_или_id_контейнера>:/tmp |
docker exec -it <имя_или_id_контейнера> bash -c "bin/elasticsearch-plugin install file:/tmp/elasticsearch-analysis-morphology-8.9.1.zip" |
docker start <имя_или_id_контейнера> |
curl http://localhost:9200/_cat/plugins |
Шаги:
Скачайте архив с плагином (elasticsearch-analysis-morphology-8.9.1.zip) на сервер.
bin/elasticsearch-plugin install file:///tmp/elasticsearch-analysis-morphology-8.9.1.zip |
/tmp/elasticsearch-analysis-morphology-8.9.1.zip на актуальный путь к архиву)systemctl restart elasticsearch.service |
curl http://localhost:9200/_cat/plugins |
1. Укажите параметры подключения к Elasticsearch в конфигурационном файле IQWiki:
#ElasticSearch elastic_search: adresses: - http://<адрес или домен>:<порт> api_key: "<ваш API-ключ>" # опционально, если используется авторизация |
2. Запустите скрипты миграции базы данных (вторая БД для Базы Знаний):
./bin/knowledgebase migrate |
Ошибка может быть следующего вида:
Тогда нам необходимо проверить: 1) Корректность подключения к elasticsearch в конфигурации дистрибутива Базы Знаний (в конфиге БЗ ./config/config.yaml), если ОК идем далее. 2) Корректность конфигурации elasticsearch (elasticsearch.yml). Возможно имеется не убитый процесс elastic, нужно проверить через команду:
|
3. Запустите IQWiki:
./bin/knowledgebase.sh start |
Для проверки доступности сервера используйте команду:
curl -X GET "http://<адрес или домен>:<порт>" |
Если включена авторизация, добавьте API-ключ:
curl -X GET "http://<адрес или домен>:<порт>" -H "Authorization: ApiKey <ваш API-ключ>" |