分布式搜索Elasticsearch——创建客户端(五)
2013-01-09 13:22
363 查看
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()方法如下所示:
这两个方法唯一的区别在于其针对的操作对象不同,InternalTransportClient针对的是内部传输,而NodeClient则针对节点间操作。
两个类都实现了一个被"@Inject"注解了的构造子,导致实例化这两个类时,只能通过该构造子,而不能使用其他方式。
execute方法的实现我将在后续分析,此处不赘述。
org.elasticsearch.client.ClusterAdminClient和org.elasticsearch.client.IndicesAdminClient的类结构与AdminClient的类结构相似,其中,ClusterAdminClient的类结构如下所示:
IndicesAdminClient的类结构如下所示:
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的类结构如下所示:
相关文章推荐
- 分布式搜索Elasticsearch——创建客户端(二)
- 分布式搜索Elasticsearch——创建客户端(六)
- 分布式搜索Elasticsearch——创建客户端(一)
- 分布式搜索Elasticsearch——创建客户端(三)
- 分布式搜索Elasticsearch——创建客户端(四)
- 分布式搜索Elasticsearch——批量创建索引
- 分布式搜索Elasticsearch——创建索引
- (转)分布式搜索Elasticsearch——配置
- 分布式搜索Elasticsearch——QueryBuilders.matchPhrasePrefixQuery
- 分布式搜索Elasticsearch——QueryBuilders.matchPhrasePrefixQuery
- 分布式搜索Elasticsearch——概述
- 分布式搜索Elasticsearch——安装
- 分布式搜索Elasticsearch——配置
- 分布式搜索Elasticsearch——集成paoding-maping
- 开源分布式搜索平台ELK(Elasticsearch+Logstash+Kibana)入门学习资源索引
- 分布式搜索Elasticsearch——项目过程(一)
- 分布式搜索Elasticsearch——QueryBuilders.idsQuery
- 分布式搜索Elasticsearch——配置
- 分布式搜索Elasticsearch——QueryBuilders.multiMatchQuery
- 分布式搜索Elasticsearch——集成paoding