ES
ElasticsearchRestTemplate默认配置的是 RestHighLevelClient,端口9200
ElasticsearchTemplate 基于 TransportClient,端口9300
从 Elasticsearch 7 开始不推荐使用 TransportClient,并将在 Elasticsearch 8 中将其删除。Spring Data Elasticsearch 也支持 TransportClient,前提是使用的 Elasticsearch 中可用,Spring Data Elasticsearch 从 4.0 版本开始已弃用使用 TransportClient 的类。
现在 High Level REST Client 是 Elasticsearch 的默认客户端,它在接受并返回完全相同的请求/响应对象时直接替代 TransportClient。
ElasticsearchRestTemplate 是 Spring Data Elasticsearch 项目中的一个类,和其他 spring 项目中的 template 类似。在新版的 Spring Data Elasticsearch 中,ElasticsearchRestTemplate 代替了原来的 ElasticsearchTemplate。 原因是 ElasticsearchTemplate 基于 TransportClient,TransportClient 即将在 8.x 以后的版本中移除。ElasticsearchRestTemplate 基于 RestHighLevelClient,如果不手动配置 ElasticsearchRestTemplate 将使用默认配置的 RestHighLevelClientbaen,此时 ES 服务器应当使用默认 9200 端口。