Что такое переменная `path.home` и как мне ее установить?

#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/"