我的问题类似于[1] 我有一个spring boot appplication,我在elasticsearch中保存了一些文档。每次在当前目录中的数据目录中创建索引。我想将此默认路径更改为给定的路径。我怎样才能做到这一点?这么简单的任务需要几个小时才能找到它。
我尝试了很多东西:
@Setting(setting="/data/elasticsearch")
application.properties
文件中:
path.data
spring.data.elasticsearch.path.data
没有运气。
答案 0 :(得分:5)
在我的应用程序类中添加配置文件的路径:
@Setting(settingPath = "/home/topic/src/main/resources/elasticsearch.properties")
在文件中设置path.data属性:
path.data=/Users/mimis/Desktop/data
诀窍。
<强>更新强>:
使用Spring Boot 1.3.0,我们可以使用spring.data.elasticsearch.properties.*
前缀在应用程序属性文件中添加任何Elasticsearch属性。例如:
spring.data.elasticsearch.properties.data.path=/path/to/data
答案 1 :(得分:4)
对我来说(Grails / Spring Boot 1.3.3),以下配置效果更好:
spring.data.elasticsearch.properties.path.data=/path/to/data
spring.data.elasticsearch.properties.path.logs=/path/to/logs
答案 2 :(得分: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
这将从应用程序的上下文创建路径,该应用程序是项目的根目录,应用程序已有权写入该目录