【发布时间】:2016-10-22 03:38:25
【问题描述】:
我正在努力在 Spring Boot 设置中使用弹性搜索后端设置休眠搜索。
我拥有的是 spring boot 和以下依赖项。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
<version>1.4.0.M3</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-backend-elasticsearch</artifactId>
<version>5.6.0.Alpha3</version>
</dependency>
发生的情况是,休眠搜索在弹性搜索完成启动之前初始化。
使用以下属性也可以公开其余接口
spring:
data:
elasticsearch:
properties:
http:
enabled: true
引发异常
原因:org.apache.http.conn.HttpHostConnectException:连接到 localhost:9200 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] 失败:连接被拒绝: 连接
现在,我如何在这里定义依赖关系?
我尝试使用自定义 BeanFactoryPostProcessor 来注入对弹性搜索的依赖,但这似乎在自动配置场景中被忽略了。
有什么方法可以引入等到弹性搜索启动?
设置有效,当我将休眠index_management_strategy设置为NONE时,未配置索引并且忽略所有自定义分析器注释,默认为弹性搜索中的默认映射,无法在自动配置场景。
理想情况下,弹性搜索应该托管在 jvm 外部,但在测试场景中很方便。
【问题讨论】:
-
它试图连接本地主机上的 ES 服务器,你显然没有运行它,所以它与休眠无关
-
不完全是,通过spring boot自动配置的魔力启动了一个单节点实例,但是在后台
标签: elasticsearch spring-boot hibernate-search