elasticsearch client接口详解.docx_第1页
elasticsearch client接口详解.docx_第2页
elasticsearch client接口详解.docx_第3页
elasticsearch client接口详解.docx_第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的两个方法,如下所示:javaview plaincopy 1. Inject2. publicNodeAdminClient(Settingssettings,NodeClusterAdminClientclusterAdminClient,NodeIndicesAdminClientindicesAdminClient)3. super(settings);4. this.indicesAdminClient=indicesAdminClient;5. this.clusterAdminClient=clusterAdminClient;6. 7. 8. Override9. publicIndicesAdminClientindices()10. returnindicesAdminClient;11. 12. 13. Override14. publicClusterAdminClientcluster()15. returnthis.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 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 listener),更新,但不返回结果,而是交由监听器;10) prepareUpdate()、prepareUpdate(String index, String type, String id),准备更新,但不执行更新;11) delete(DeleteRequest request)、delete(DeleteRequest request, ActionListener listener),根据DeleteRequest提供的index、type和id从索引中删除文档;12) prepareDelete()、prepareDelete(String index, String type, String id),准备删除,但不执行删除;13) bulk(BulkRequest request)、bulk(BulkRequest request, ActionListener listener),批量操作;14) prepareBulk(),准备执行批量操作,但不执行;15) deleteByQuery(DeleteByQueryRequest request)、deleteByQuery(DeleteByQueryRequest request, ActionListener listener),基于查询删除索引;16) prepareDeleteByQuery(String. indices),准备删除,但不执行删除;17) get(GetRequest request)、get(GetRequest request, ActionListener listener)根据GetRequest提供的index、type和id获取文档;18) prepareGet()、prepareGet(String index, Nullable String type, String id),准备获取,但不执行获取;19) multiGet(MultiGetRequest request)、multiGet(MultiGetRequest request, ActionListener listener),批量获取文档;20) prepareMultiGet(),准备批量获取,但不执行获取操作;21) count(CountRequest request)、count(CountRequest request, ActionListener listener),获取适应特定query的文档数量;22) prepareCount(String. indices),准备获取适应特定query的文档数量,但不获取;23) search(SearchRequest request)、search(SearchRequest request, ActionListener listener),根据SearchRequest提供的index、id和type执行搜索;24) prepareSearch(String. indices),准备但不搜索;25) searchScroll(SearchScrollRequest request)、searchScroll(SearchScrollRequest request, ActionListener listener)、prepareSearchScroll(String scrollId),通过用于迭代搜索结果;26) multiSearch(MultiSearchRequest request)、multiSearch(MultiSearchRequest request, ActionListener listener)、prepareMultiSearch(),执行多个搜索请求;27) moreLikeThis(MoreLikeThisRequest request)、moreLikeThis(MoreLikeThisRequest request, ActionListener listener)、prepareMoreLikeThis(String index, String type, String id),类似于数据库中的like操作,先根据index、type、id找到一个document,再找到跟这个文档like的其他文档;28) percolate(PercolateRequest request)、percolate(PercolateRequest request, ActionListe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论