2016-10-14 2 views
1

Я пользуюсь драйвером elastic4selasticsearch.Что такое переменная `path.home` и как ее установить?

При попытке создать клиент:

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 - elastic4s версии 2.3.1 предназначен для работы с elasticsearch версий 2.3.x и 2.4.x не – Erik

+0

Это верно и то, что упомянуто в 'elastic4s' документация. FYI эта ошибка все еще возникает при использовании правильной комбинации product/api. –

ответ

1

Что такое path.home?

Как вы можете видеть из documentation, path.home - это переменная, которая должна быть установлена ​​так, чтобы определять, где на жестком диске хранить данные.

Как установить path.home?

После поиска/проб и ошибок, я обнаружил, что path.homeне может быть установлен в elasticsearch.yml (как указано в документации). Это приведет к сбою вашего сервиса elasticsearch при попытке загрузить эту новую конфигурацию.

path.home является JVM arg.

специально -Des.path.home="~/folder/"

1

В дополнение к собственному ответу Риса, вы можете передать path.home в настройках при создании клиента.

val settings = Settings.builder.put("path.home", "/home/elastic") 
val = ElasticClient.local(settings) 
+0

Я обнаружил, что это не работает с 2.4.x –

Смежные вопросы