#scala #elasticsearch #elastic4s
#scala #elasticsearch #elastic4s
Вопрос:
Я использовал elastic4s
elasticsearch
драйвер.
При попытке создать клиент:
import com.sksamuel.elastic4s._
import org.elasticsearch.common.settings._
val esSettings = //...
val client = ElasticClient local esSettings
Я получаю ошибку времени выполнения:
[IllegalStateException: path.home is not configured]
Что такое path.home
?
как мне установить path.home
?
Версии: elasticsearch-2.4.1
, elastic4s-2.3.1
Комментарии:
1. Пожалуйста, не используйте разные версии продукта и API — версия 2.3.1 elastic4s предназначена для работы с версиями elasticsearch 2.3.X, а не 2.4.X
2. Это правильно и то, что упоминается в
elastic4s
документации. К вашему сведению, эта ошибка по-прежнему возникает при использовании правильной комбинации продукта / api.
Ответ №1:
В дополнение к собственному ответу Риса, вы можете передать path.home в настройки при создании клиента.
val settings = Settings.builder.put("path.home", "/home/elastic")
val = ElasticClient.local(settings)
Ответ №2:
Что такое path.home
?
Как вы можете видеть из документации, path.home
это переменная, которая должна быть установлена для определения места на жестком диске для хранения данных.
Как мне установить path.home
?
После поиска / проб и ошибок я обнаружил, что это path.home
невозможно установить elasticsearch.yml
(как указано в документации). Это приведет к сбою вашей службы elasticsearch при попытке загрузить эту новую конфигурацию.
path.home
является аргументом JVM.
в частности -Des.path.home="~/folder/"