Java高级REST客户端进行Spring数据弹性搜索

我是Elastic search的初学者,并且正在寻找将Elastic Search与Spring Boot集成的最佳方法.

我不确定要使用以下哪个:

> Spring数据弹性搜索
>笑话
> Java高级休息客户端

谢谢

最佳答案
这取决于您要如何与ES交互.

如果您想在Elasticsearch之上使用ORM对文档执行CRUD操作,那么使用Spring Data Elasticsearch是可行的.但是请注意,Spring Data ES落后于最新的ES版本,因此根据您的ES版本,集成Spring Data ES(通过Spring Boot)可能会更加困难.

另外两个是更通用的客户端,这使您可以使用ES进行几乎所有操作.

JEST是一个不错的选择,并且由于Elasticsearch缺乏真正好的REST客户端,因此很长一段时间以来一直是我的最爱.

随着Elastic投入更多的精力,Java高级REST客户端越来越受关注(因为传输客户端正在消失).这个最大的优点是它是Elastic支持的官方REST客户端,并且与请求/响应DSL很好地集成在一起,而JEST则没有.

更新

要将REST客户端与Spring Boot集成在一起,您可以像其他依赖项一样进行操作,如下所示,创建一个配置bean,然后在需要的地方自动关联该依赖项:

/** Configuration Bean */
@Configuration
public class ElasticsearchConfig {

    @Value("${elasticsearch.host}")
    private String host;

    @Value("${elasticsearch.port}")
    private int port;

    @Bean
    public RestClient restClient() {
        return RestClient.builder(new HttpHost(host, port)).build();
    }
}

// use the dependency in your other components/services, using dependency injection
@Autowired
private RestClient restClient;

转载注明原文:Java高级REST客户端进行Spring数据弹性搜索 - 代码日志