如何使用 Spring Boot 设置 ElasticSearch 的数据目录
How to set the data directory of ElasticSearch with Spring Boot
我的问题类似于[1]
我有一个 spring 启动应用程序,我在 elasticsearch 中保存了一些文档。索引每次都在当前目录的数据目录中创建。我想将此默认路径更改为给定路径。我怎样才能做到这一点?如此简单的任务需要几个小时才能找到。
我尝试了很多东西:
@Setting(setting="/data/elasticsearch")
- 在 elasticseacrh.properties 和
application.properties
文件中:
path.data
spring.data.elasticsearch.path.data
运气不好。
在我的应用程序中添加配置文件的路径class:
@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
对我来说(Grails / Spring Boot 1.3.3)以下配置效果更好:
spring.data.elasticsearch.properties.path.data=/path/to/data
spring.data.elasticsearch.properties.path.logs=/path/to/logs
我刚刚 运行 解决了这个问题,none 提供的答案解决了它,接受的答案是错误的 属性 即
spring.data.elasticsearch.properties.path.data=/path/to/data
不是
spring.data.elasticsearch.properties.data.path=/path/to/data
虽然使用这个值你会遇到问题,因为你正在写入你的 machine 的根目录(在我的例子中是 mac)需要我无法提供的访问权限所以elasticsearch 模板将无法启动,您需要将值设置为
spring.data.elasticsearch.properties.path.data=path/to/data
这将从您的应用程序的上下文创建路径,该路径是您的项目的根目录,该应用程序已经有权写入它
我的问题类似于[1] 我有一个 spring 启动应用程序,我在 elasticsearch 中保存了一些文档。索引每次都在当前目录的数据目录中创建。我想将此默认路径更改为给定路径。我怎样才能做到这一点?如此简单的任务需要几个小时才能找到。
我尝试了很多东西:
@Setting(setting="/data/elasticsearch")
- 在 elasticseacrh.properties 和
application.properties
文件中:path.data
spring.data.elasticsearch.path.data
运气不好。
在我的应用程序中添加配置文件的路径class:
@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
对我来说(Grails / Spring Boot 1.3.3)以下配置效果更好:
spring.data.elasticsearch.properties.path.data=/path/to/data
spring.data.elasticsearch.properties.path.logs=/path/to/logs
我刚刚 运行 解决了这个问题,none 提供的答案解决了它,接受的答案是错误的 属性 即
spring.data.elasticsearch.properties.path.data=/path/to/data
不是
spring.data.elasticsearch.properties.data.path=/path/to/data
虽然使用这个值你会遇到问题,因为你正在写入你的 machine 的根目录(在我的例子中是 mac)需要我无法提供的访问权限所以elasticsearch 模板将无法启动,您需要将值设置为
spring.data.elasticsearch.properties.path.data=path/to/data
这将从您的应用程序的上下文创建路径,该路径是您的项目的根目录,该应用程序已经有权写入它