分布式搜索Elasticsearch——创建客户端(五)

org.elasticsearch.client.Client的子类结构如下图所示:

org.elasticsearch.client.internal.InternalClient接口在Client接口的基础上,添加了一个settings()方法,用于获取当前客户端的Settings。

org.elasticsearch.client.support.AbstractClient实现了InternalClient类,你注意观察一下,会发现AbstractClient里面的所有方法中,除了prepareXxx方法,其他方法最后都跳转到其子类的execute方法中,而prepareXxx方法则在execute之前执行,进行相关属性的指定或设置。

AbstractClient有两个子类,分别是org.elasticsearch.client.transport.support.InternalTransportClient和org.elasticsearch.client.node.NodeClient,这两个类都重写了父类的close()、settings()、threadPool()、admin()和execute等方法,其中,close()方法如下所示:

    @Override
    public void close() {
        // nothing to do here
    }
也就是说,这两个类都不执行close操作。

这两个方法唯一的区别在于其针对的操作对象不同,InternalTransportClient针对的是内部传输,而NodeClient则针对节点间操作。

两个类都实现了一个被"@Inject"注解了的构造子,导致实例化这两个类时,只能通过该构造子,而不能使用其他方式。

execute方法的实现我将在后续分析,此处不赘述。


org.elasticsearch.client.ClusterAdminClient和org.elasticsearch.client.IndicesAdminClient的类结构与AdminClient的类结构相似,其中,ClusterAdminClient的类结构如下所示:


IndicesAdminClient的类结构如下所示:



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值