2015-04-12 67 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 

这将是你的项目,它的应用程序已经有权利对其进行写入操作

相关问题