首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >elasticsearch-rest-高级别客户对elasticsearch-rest-client

elasticsearch-rest-高级别客户对elasticsearch-rest-client
EN

Stack Overflow用户
提问于 2020-06-12 08:57:08
回答 1查看 8K关注 0票数 8

我刚开始弹性搜索。开始构建一个使用弹性搜索的Spring引导应用程序。

使用最新的ES版本"elasticsearch-7.7.1“并进行集成,我将使用下面的maven依赖项:

代码语言:javascript
复制
 <dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.7.1</version>
 </dependency>

我在应用程序启动时遇到了问题,通过添加下面的依赖项来修正:

代码语言:javascript
复制
   <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-client</artifactId>
        <version>7.7.1</version>
    </dependency>

谁能解释为什么elasticsearch-rest-client elasticsearch-rest-high-level-client**?**需要,以及它与有什么不同?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-12 12:26:52

链接中,它提到以下内容:

Java低级REST客户端:,官方的低级别客户端,用于Elasticsearch。它允许通过http与Elasticsearch集群通信。离开请求编组和响应不编组给用户。它与所有Elasticsearch版本兼容。 Java高级REST客户端:,官方的高级客户端。基于底层客户端,它公开了特定于API的方法,并负责请求编组和响应解编组。

了解这方面更多信息的最佳方法是阅读javadocs,下面的链接分别为

High Level Rest Client使用了Low Level Rest Client,我认为这意味着扩展了类和接口Low Level Rest Client

使用High Level而不是Low Level的优点是:

  • 避免开发人员重写代码,换句话说,代码的可维护性和可读性。
  • 帮助开发人员理解ES的API用法,并将其与使用Kibana的API联系起来。
  • 如果还使用任何xpack特性(图或ml),那么高级客户端API就有了可用的客户端代码,可以不用费力地用低级API重写所有的东西。

下面的示例可以帮助我猜:

示例1:获取特定文档

带有高级Rest客户端的

代码语言:javascript
复制
GetRequest getRequest = new GetRequest("posts", "1");   

具有低级别Rest客户端的

代码语言:javascript
复制
Request request = new Request("GET", "/posts/1");

示例2:搜索API

带有高级Rest客户端的

代码语言:javascript
复制
SearchRequest searchRequest = new SearchRequest("posts"); 

您可以参考链接

具有低级别Rest客户端的

您需要使用RequestResponse类(低级别)并使用适当的端点。

代码语言:javascript
复制
Request request = new Request("GET", "/posts/_search");

例3:分析文本:

具有高级Rest的

利用AnalyzeRequest

具有低级别Rest客户端的

再次使用RequestResponse

基本上,在High Level Rest Client上工作就像在处理Elasticsearch的API层(它通过HTTP间接工作),而Low Level则是纯粹地处理HTTP,即请求响应模型,即更高的抽象。

希望这能帮上忙!

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62340904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档