2015-04-12 64 views
4

我的問題類似於[1] 我有一個spring啓動應用程序,我在elasticsearch中保存了一些文檔。索引每次都在當前目錄的數據目錄中創建。我想將此默認路徑更改爲給定路徑。我怎樣才能做到這一點?如此簡單的任務需要數小時才能找到。如何使用Spring Boot設置ElasticSearch的數據目錄

我試了很多東西:

  1. @Setting(setting="/data/elasticsearch")
  2. 在elasticseacrh.properties和application.properties文件:
    1. path.data
    2. spring.data.elasticsearch.path.data

沒有任何運氣。

回答

5
  1. 添加路徑,在我的應用程序類配置文件:

    @Setting(settingPath = "/home/topic/src/main/resources/elasticsearch.properties") 
    
  2. 設置文件中的path.data屬性:

    path.data=/Users/mimis/Desktop/data 
    

的伎倆。

更新
藉助於Spring 1.3.0引導,我們可以通過使用spring.data.elasticsearch.properties.*前綴的應用程序屬性文件添加任何Elasticsearch財產。例如:

spring.data.elasticsearch.properties.data.path=/path/to/data 
+1

使用Spring 1.3.0引導的根目錄應用程序的環境中創建的路徑,和「spring.data.elasticsearch.properties.data.path」或「spring.data.elasticsearch.properties.path.data」不工作......這是真的支持嗎?在這個問題上沒有找到像樣的答案。 –

+2

目前我使用的是spring boot 2.6。在我的應用程序/屬性文件位於資源文件夾我有設置spring.data.elasticsearch.properties.path.data和它的工作 – ArisRe82

+0

yaml配置沒有爲我工作,但.properties文件配置工作。 –

2

對我(的Grails /彈簧引導1.3.3)以下配置工作得更好:

spring.data.elasticsearch.properties.path.data=/path/to/data 
spring.data.elasticsearch.properties.path.logs=/path/to/logs 
0

我只是碰到了這個問題,並沒有提供答案的解決了這個問題,在接受答案了錯誤的屬性,它是

spring.data.elasticsearch.properties.path.data=/path/to/data 

spring.data.elasticsearch.properties.data.path=/path/to/data 

儘管有了這個值,你將會遇到一個問題,因爲你正在寫入你的機器的根目錄(在我的情況下是一個mac),它需要一個我無法提供的訪問權限,所以elasticsearch模板將無法啓動,相反你需要將該值設置爲

spring.data.elasticsearch.properties.path.data=path/to/data 

這將是你的項目,它的應用程序已經有權利對其進行寫入操作

相關問題