我试图弄清楚为什么我必须将bean名称设置为elasticsearchTemplate
。没有它,我的应用程序崩溃。我有以下代码来配置我的Rest客户端。问题是如果我不将elasticsearchTemplate
添加为bean名称,它将失败并表示找不到elasticsearchTemplate
。关于为什么这样做的任何想法,以及使用elasticsearchoperations
与elasticsearchtemplate
有什么区别?
Using Spring-Data-Elasticsearch Version 3.2
Using Java High-Level Rest Client Version 6.8.0
作品
@Bean("elasticsearchtemplate")
public ElasticsearchOperations elasticsearchTemplate() throws Exception {
return new ElasticsearchTemplate(client());
}
不起作用
public ElasticsearchOperations elasticsearchTemplate() throws Exception {
return new ElasticsearchTemplate(client());
}
最佳答案
可能是因为启动配置(application.properties)缺少与elasticsearch相关的配置。
您需要在application.properties
文件中定义一些 flex 搜索属性,例如集群节点,集群名称,这些属性由ElasticsearchTemplate和ElasticsearchRepository用于连接到Elasticsearch引擎。
作为follows