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:
Update API
Multi-Get API
Reindex API
Delete By Query API
Rethrottle API
搜索 API
Java High Level REST Client支持以下搜索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