我试图弄清楚为什么我必须将bean名称设置为elasticsearchTemplate。没有它,我的应用程序崩溃。我有以下代码来配置我的Rest客户端。问题是如果我不将elasticsearchTemplate添加为bean名称,它将失败并表示找不到elasticsearchTemplate。关于为什么这样做的任何想法,以及使用elasticsearchoperationselasticsearchtemplate有什么区别?

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

09-25 21:48