收藏 分销(赏)

elasticsearch-client接口详解.docx

上传人:仙人****88 文档编号:9283421 上传时间:2025-03-19 格式:DOCX 页数:4 大小:18.21KB 下载积分:10 金币
下载 相关 举报
elasticsearch-client接口详解.docx_第1页
第1页 / 共4页
elasticsearch-client接口详解.docx_第2页
第2页 / 共4页


点击查看更多>>
资源描述
elasticsearch java api——客户端 org.elasticsearch.client org.elasticsearch.client.AdminClient接口 AdminClient下有两个方法: 1) cluster(),产生一个允许从集群中执行action或操作的client; 2) indices(),产生一个允许从索引中执行action或操作的client。 AdminClient接口有两个实现类,分别为 org.elasticsearch.client.AdminClient.NodeAdminClient和 org.elasticsearch.client.transport.support.InternalTransportAdminClient。 1.1 org.elasticsearch.client.AdminClient.NodeAdminClient类 NodeAdminClient有一个带有@Inject注解的构造器,并实现了接口AdminClient的两个方法,如下所示: [java] view plaincopy 1. @Inject   2. public NodeAdminClient(Settings settings, NodeClusterAdminClient clusterAdminClient, NodeIndicesAdminClient indicesAdminClient) {   3.     super(settings);   4.     this.indicesAdminClient = indicesAdminClient;   5.     this.clusterAdminClient = clusterAdminClient;   6. }   7.    8. @Override   9. public IndicesAdminClient indices() {   10.     return indicesAdminClient;   11. }   12.    13. @Override   14. public ClusterAdminClient cluster() {   15.     return this.clusterAdminClient;   16. }   @Inject导致了一个直接的后果:你只能通过被@Inject标注的构造器生成实例。 indices()和cluster()覆盖了AdminClient的同名方法,分别返回NodeIndicesAdminClient和NodeClusterAdminClient对象。 NodeAdminClient会继承父类ponent.AbstractComponent的nodeName()方法用以获取当前节点的名称。 1.2 org.elasticsearch.client.transport.support.InternalTransportAdminClient类 InternalTransportAdminClient其实与NodeAdminClient类似,只是它的indices()和cluster() 分别返回的是InternalTransportIndicesAdminClient和 InternalTransportClusterAdminClient。 NodeAdminClient和InternalTransportAdminClient均没有子类,所以只有当我们需要用到 NodeIndicesAdminClient、NodeClusterAdminClient、 InternalTransportIndicesAdminClient或InternalTransportClusterAdminClient 时,才考虑创建这两个类的实体。 2 org.elasticsearch.client.Client接口 Client为从集群中执行action或operation提供了一站式接口,这里的所有操作都是自然而然地异步执行的,每个action或 operation都有两种风格,一种是简单地返回一个org.elasticsearch.action.ActionFuture,另一种是访问一个 org.elasticsearch.action.ActionListener。你可以在org.elasticsearch.node.Node启 动时取得一个Client,也可以使用org.elasticsearch.client.transport.TransportClient远程连接 一个或多个节点。 Client有以下方法: 1) close(),关闭客户端; 2) admin(),返回一个可以执行管理性操作的客户端; 3) 两个execute,用于执行一般性操作,这里的一般性与上文提到的管理性相对; 4) prepareExecute,准备一个RequestBuilder对象,得到RequestBuilder对象后再做执行操作,当然,在这之间,你可以做一些个性化设置; 5) index(IndexRequest request),根据给写的index和type索引一个JSON资源,index和type由IndexRequest提供,IndexRequest也可提供id,若不提供时,id将自动生成; 6) index(IndexRequest request, ActionListener<IndexResponse> listener),与index(IndexRequest request)的区别在于它不会直接返回索引创建的结果,而是将结果转给监听器,由listener来通知请求者; 7) prepareIndex()、prepareIndex(String index, String type)、prepareIndex(String index, String type, @Nullable String id),准备创建索引,但不创建索引; 8) update(UpdateRequest request),基于一个script更新文档,返回更新后的结果; 9) update(UpdateRequest request, ActionListener<UpdateResponse> listener),更新,但不返回结果,而是交由监听器; 10) prepareUpdate()、prepareUpdate(String index, String type, String id),准备更新,但不执行更新; 11) delete(DeleteRequest request)、delete(DeleteRequest request, ActionListener<DeleteResponse> listener),根据DeleteRequest提供的index、type和id从索引中删除文档; 12) prepareDelete()、prepareDelete(String index, String type, String id),准备删除,但不执行删除; 13) bulk(BulkRequest request)、bulk(BulkRequest request, ActionListener<BulkResponse> listener),批量操作; 14) prepareBulk(),准备执行批量操作,但不执行; 15) deleteByQuery(DeleteByQueryRequest request)、deleteByQuery(DeleteByQueryRequest request, ActionListener<DeleteByQueryResponse> listener),基于查询删除索引; 16) prepareDeleteByQuery(String... indices),准备删除,但不执行删除; 17) get(GetRequest request)、get(GetRequest request, ActionListener<GetResponse> listener)根据GetRequest提供的index、type和id获取文档; 18) prepareGet()、prepareGet(String index, @Nullable String type, String id),准备获取,但不执行获取; 19) multiGet(MultiGetRequest request)、multiGet(MultiGetRequest request, ActionListener<MultiGetResponse> listener),批量获取文档; 20) prepareMultiGet(),准备批量获取,但不执行获取操作; 21) count(CountRequest request)、count(CountRequest request, ActionListener<CountResponse> listener),获取适应特定query的文档数量; 22) prepareCount(String... indices),准备获取适应特定query的文档数量,但不获取; 23) search(SearchRequest request)、search(SearchRequest request, ActionListener<SearchResponse> listener),根据SearchRequest提供的index、id和type执行搜索; 24) prepareSearch(String... indices),准备但不搜索; 25) searchScroll(SearchScrollRequest request)、searchScroll(SearchScrollRequest request, ActionListener<SearchResponse> listener)、prepareSearchScroll(String scrollId),通过用于迭代搜索结果; 26) multiSearch(MultiSearchRequest request)、multiSearch(MultiSearchRequest request, ActionListener<MultiSearchResponse> listener)、prepareMultiSearch(),执行多个搜索请求; 27) moreLikeThis(MoreLikeThisRequest request)、moreLikeThis(MoreLikeThisRequest request, ActionListener<SearchResponse> listener)、prepareMoreLikeThis(String index, String type, String id),类似于数据库中的like操作,先根据index、type、id找到一个document,再找到跟这个文档like的其他文档; 28) percolate(PercolateRequest request)、percolate(PercolateRequest request, ActionListener<PercolateResponse> listener)、preparePercolate(String index, String type),过滤一个请求,返回匹配的结果; 29) explain(ExplainRequest request)、explain(ExplainRequest request, ActionListener<ExplainResponse> listener)、prepareExplain(String index, String type, String id),为指定的请求计算一个score
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服