ElasticSearch-Java客户端(十)

即便是微不足道的蝼蚁,穿过黑暗的沼泽,也算顶天立地。 ——骨子

ES Client 简介

  • ES 整体是一个 C/S 架构,有 Client 访问集群的状态,进行状态搜索。
  • 链接的时候可以任意选择连接那个节点
  • Rest 接口:
    • 最外层,端口9200
  • transport:
    • 传输层,端口9300
    • 默认是Http协议
    • 同时支持thrift、memcached

发现有JavaScript 版本,某些特殊场所可以直接前段直接访问,很方便。

Java rest client 两个版本:

  • 一个低版本
    • 通过HTTP与集群交互,用户需要自己编组请求JSON串,及解析相应JSON串,兼容所有 ES 版本。
    • 底层使用HTTPClient,
  • 一个高版本(从6.0.0开始)
    • 给予低级别的REST客户端,增加了编组请求,解析响应等相关api。
    • 从 6.0.0 开始加入,目的就是以Java面向对象的方式进行请求,响应处理。
    • 每个API,支持 同步、异步 两种方式,同步方式直接返回一个结果对象。
    • 异步方式以 async 为后缀,通过 listener 参数来通知结果
    • 高级Java Rest 客户端依赖 ElasticSearch core project

创建索引

  • 可以创建mapping、setting、alias

对于底层客户端代码跟自己使用json先沟通呢,只需要自己配置即可,此时可可以看底层的代码,我们可以自己复习一遍,启动一个SpringBoot-ES工程,自己对于聚合、高亮、查询建议、就是构造器模式记性构造。

得到响应结果,可以分析,结果中的Hits集合。

获取聚合结果、查询结果

使用 hightlight 高亮

使用对象进行JSON 格式的封装,

Java Client

  • 起初就存在的,使用 TransportClient,各种操作本质上是异步的(可以用listener 或 Future)
  • 使用的是 log4j2 日志组件、如果要使用其他的日志组件,可以使用slf4j作为桥
  • 连接的时使用9300端口,在使用完client时,记得关闭客户端对象。

文章作者: HoldDie
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 HoldDie !
评论
 上一篇
ElasticSearch-ES集群管理(十一) ElasticSearch-ES集群管理(十一)
利剑虽强却斩不断流水,微风虽弱却能平息海浪。 ——子房 ES集群管理集群规划多大规模的集群?当前数据量有多大?数据增长情况如何? 你的机器配置如何?CPU、内存、硬盘 ES小常识: ES JVM heap 最大 32G 30G Hea
2018-10-04
下一篇 
ElasticSearch-聚合分析(九) ElasticSearch-聚合分析(九)
回忆是现实的避难所,而现实却带你去往未来。 ——R.S 聚合分析聚合分析完成一个查询的数据集中数据的聚合计算。 对一个数据集求最大,最小 和 平均值等指标的聚合,指标聚合( metric) 在关系型数据库中出了有聚合函数以外,还有对查询
2018-10-01
  目录