大数据搜索与挖掘及可视化管理方案 :Elastic Stack 5:Elasticsearch、Logstash、Kibana、X-Pack、Beats (第3版)
上QQ阅读APP看书,第一时间看更新

第4章 面向Java的ElasticsearchClient部分功能实现

“Allelasticsearch operations are executed using a Client object.All operations are completely asynchronous in nature(either accepts a listener, or returns a future).Additionally, operations on a client may be accumulated and executed in Bulk.Note, all the APIs are exposed through the Java API(actually, the java api is used internally to execute them).”——http://www.elastic.co/guide/en/elasticsearch/client/java-api/5.0/java-api.html

前述章节中已经对Elasticsearch的索引、检索、统计等功能进行了说明。一般来说,对Elasticsearch中的信息进行检索等处理的大致步骤是:基于analyzer分析结果构建query,给后台的Elasticsearch集群发送query,完成检索并返回结果集合。其实,Elasticsearch不仅可以通过RESTful等方式进行操作,通过各种语言的客户端也可以进行几乎所有的操作。本章以应用较为广泛的Java客户端为例,介绍Elasticsearch Client相关功能的Java实现。在完成客户端编程时,一般首先要做的工作是将Elasticsearch节点实例化,之后构建索引文件,基于用户给定的查询项获取文档集合(当然也可以完成对文档的增、删、改等工作),并根据实际需求完成诸如aggregations的数据分析工作。进一步处理(如分页、高亮、过滤等)后,将处理结果返回到前端页面。