Elasticsearch Java REST Client

Java REST Client有两种类型:

Java Low Level REST Client:用于Elasticsearch的官方低级别客户端,它允许通过http与Elasticsearch集群通信,将请求编组和响应反编组留给用户,它与所有Elasticsearch版本兼容。

Java High Level REST Client:用于Elasticsearch的官方高级别客户端,基于低级别客户端,它公开API特定的方法,并负责请求编组和响应反编组。

Java Low Level REST Client

低级别客户端的特性包括:最小的依赖关系;跨所有可用节点负载均衡;在节点故障的情况下根据特定的响应码进行故障转移;失败的连接惩罚(失败的节点是否被重试取决于它连续失败了多少次,失败的尝试越多,客户端在再次尝试同一节点之前等待的时间就越长);持久连接;跟踪请求和响应的日志记录;可选的自动发现集群节点。

Java High Level REST Client

在6.0.0-beta1中被添加。

Java High Level REST Client在Java Low Level REST客户端之上工作,它的主要目标是公开API特定的方法,这些方法接受请求对象作为参数并返回响应对象,以便由客户端自己处理请求编组和响应反编组。

每个API可以同步调用,也可以异步调用。同步方法返回响应对象,而名称以async后缀结尾的异步方法则需要一个监听器参数,一旦接收到响应或错误,监听器就会被通知(在由低级别客户端管理的线程池中)。

Java High Level REST Client依赖于Elasticsearch核心项目,它接受与TransportClient相同的请求参数,并返回相同的响应对象。

文档 API

Java High Level REST Clien支持以下文档API:

搜索 API

Java High Level REST Client支持以下搜索API:

  • Search API
  • Search Scroll API
  • Clear Scroll API
  • Multi-Search API
  • Search Template API
  • Multi-Search-Template API
  • Field Capabilities API
  • Ranking Evaluation API
  • Explain API

博弈
2.5k 声望1.5k 粉丝

态度决定一切