client

更新时间:2022-12-29 02:21:33 阅读: 评论:0


2022年12月29日发(作者:alternation)

elasticarchjavaapi——客户端

lient接口

AdminClient下有两个方法:

1)cluster(),产生一个允许从集群中执行action或操作的client;

2)indices(),产生一个允许从索引中执行action或操作的client。

AdminClient接口有两个实现类,分别为

minClient和

alTransportAdminClient。

minClient类

NodeAdminClient有一个带有@Inject注解的构造器,并实现了接口AdminClient

的两个方法,如下所示:

[java]viewplaincopy

1.@Inject

NodeAdminClient(Settingsttings,NodeClusterAdmi

nClientclusterAdminClient,NodeIndicesAdminClientindice

sAdminClient){

(ttings);

sAdminClient=indicesAdminClient;

rAdminClient=clusterAdminClient;

6.}

7.

8.@Override

IndicesAdminClientindices(){

indicesAdminClient;

11.}

12.

13.@Override

ClusterAdminClientcluster(){

rAdminClient;

16.}

@Inject导致了一个直接的后果:你只能通过被@Inject标注的构造器生成实例。

indices()和cluster()覆盖了AdminClient的同名方法,分别返回

NodeIndicesAdminClient和NodeClusterAdminClient对象。

NodeAdminClient会继承父类

ctComponent的nodeName()方法用

以获取当前节点的名称。

alTransportAdminClient类

InternalTransportAdminClient其实与NodeAdminClient类似,只是它的indices()

和cluster()分别返回的是InternalTransportIndicesAdminClient和

InternalTransportClusterAdminClient。

NodeAdminClient和InternalTransportAdminClient均没有子类,所以只有当我们需

要用到NodeIndicesAdminClient、NodeClusterAdminClient、

InternalTransportIndicesAdminClient或InternalTransportClusterAdminClient时,

才考虑创建这两个类的实体。

接口

Client为从集群中执行action或operation提供了一站式接口,这里的所有操作都

是自然而然地异步执行的,每个action或operation都有两种风格,一种是简单地

返回一个Future,另一种是访问一个

Listener。你可以在启

动时取得一个Client,也可以使用ortClient

远程连接一个或多个节点。

Client有以下方法:

1)clo(),关闭客户端;

2)admin(),返回一个可以执行管理性操作的客户端;

3)两个execute,用于执行一般性操作,这里的一般性与上文提到的管理性相对;

4)prepareExecute,准备一个RequestBuilder对象,得到RequestBuilder对象后

再做执行操作,当然,在这之间,你可以做一些个性化设置;

5)index(IndexRequestrequest),根据给写的index和type索引一个JSON资源,

index和type由IndexRequest提供,IndexRequest也可提供id,若不提供时,id

将自动生成;

6)index(IndexRequestrequest,ActionListenerlistener),与

index(IndexRequestrequest)的区别在于它不会直接返回索引创建的结果,而是将

结果转给监听器,由listener来通知请求者;

7)prepareIndex()、prepareIndex(Stringindex,Stringtype)、prepareIndex(String

index,Stringtype,@NullableStringid),准备创建索引,但不创建索引;

8)update(UpdateRequestrequest),基于一个script更新文档,返回更新后的结果;

9)update(UpdateRequestrequest,ActionListenerlistener),

更新,但不返回结果,而是交由监听器;

10)prepareUpdate()、prepareUpdate(Stringindex,Stringtype,Stringid),准备更

新,但不执行更新;

11)delete(DeleteRequestrequest)、delete(DeleteRequestrequest,

ActionListenerlistener),根据DeleteRequest提供的index、type

和id从索引中删除文档;

12)prepareDelete()、prepareDelete(Stringindex,Stringtype,Stringid),准备删除,

但不执行删除;

13)bulk(BulkRequestrequest)、bulk(BulkRequestrequest,

ActionListenerlistener),批量操作;

14)prepareBulk(),准备执行批量操作,但不执行;

15)deleteByQuery(DeleteByQueryRequestrequest)、

deleteByQuery(DeleteByQueryRequestrequest,

ActionListenerlistener),基于查询删除索引;

16)prepareDeleteByQuery(String...indices),准备删除,但不执行删除;

17)get(GetRequestrequest)、get(GetRequestrequest,

ActionListenerlistener)根据GetRequest提供的index、type和id

获取文档;

18)prepareGet()、prepareGet(Stringindex,@NullableStringtype,Stringid),准

备获取,但不执行获取;

19)multiGet(MultiGetRequestrequest)、multiGet(MultiGetRequestrequest,

ActionListenerlistener),批量获取文档;

20)prepareMultiGet(),准备批量获取,但不执行获取操作;

21)count(CountRequestrequest)、count(CountRequestrequest,

ActionListenerlistener),获取适应特定query的文档数量;

22)prepareCount(String...indices),准备获取适应特定query的文档数量,但不获

取;

23)arch(SearchRequestrequest)、arch(SearchRequestrequest,

ActionListenerlistener),根据SearchRequest提供的index、

id和type执行搜索;

24)prepareSearch(String...indices),准备但不搜索;

25)archScroll(SearchScrollRequestrequest)、

archScroll(SearchScrollRequestrequest,ActionListener

listener)、prepareSearchScroll(StringscrollId),通过用于迭代搜索结果;

26)multiSearch(MultiSearchRequestrequest)、multiSearch(MultiSearchRequest

request,ActionListenerlistener)、prepareMultiSearch(),

执行多个搜索请求;

27)moreLikeThis(MoreLikeThisRequestrequest)、

moreLikeThis(MoreLikeThisRequestrequest,ActionListener

listener)、prepareMoreLikeThis(Stringindex,Stringtype,Stringid),类似于数据库

中的like操作,先根据index、type、id找到一个document,再找到跟这个文档like

的其他文档;

28)percolate(PercolateRequestrequest)、percolate(PercolateRequestrequest,

ActionListenerlistener)、preparePercolate(Stringindex,

Stringtype),过滤一个请求,返回匹配的结果;

29)explain(ExplainRequestrequest)、explain(ExplainRequestrequest,

ActionListenerlistener)、prepareExplain(Stringindex,String

type,Stringid),为指定的请求计算一个score

本文发布于:2022-12-29 02:21:33,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/50512.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:module
下一篇:龌龊
标签:client
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图