博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elasticsearch搜索引擎第十四篇-Java客户端调用
阅读量:4163 次
发布时间:2019-05-26

本文共 1898 字,大约阅读时间需要 6 分钟。

文章目录

ES支持多种编程语言客户端

Elasticsearch支持多种编程语言客户端,如下:

在这里插入图片描述
官网地址:

ES 提供的客户端连接方式

  • REST API,端口9200
  • Transport连接,端口9300

Java REST Client

ES提供两个Java REST Client版本

  • Java Low Level REST Client(少用): 低级别的REST客户端,通过http与集群交互,用户需自己编组请求JSON串,及解析响应JSON串。兼容所有ES版本。
  • Java High Level REST Client(常用): 高级别的REST客户端,基于低级别的REST客户端,增加了编组请求、解析响应等相关api。

Java Low Level REST Client

因为低级别的REST客户端用的比较少,这里不展开说明,可以直接参考官网说明。

特点、maven引入、使用介绍参考:

API doc请参考:

Java High Level REST Client(常用)

从6.0.0开始加入的,目的是以java面向对象的方式来进行请求、响应处理。

每个API 支持 同步/异步 两种方式,同步方法直接返回一个结果对象。异步的方法以 async 为后缀,通过listener 参数来通知结果。

高级java REST 客户端依赖Elasticsearch core project

兼容性说明:

  • 依赖 java1.8 和 Elasticsearch core project
  • 请使用与服务端ES版本一致的客户端版本,否则会出错!!!

maven中引入:

org.elasticsearch.client
elasticsearch-rest-high-level-client
6.4.3

Java High Level REST Client 初始化

//给定集群的多个节点地址,将客户端负载均衡地向这个节点地址集发请求RestHighLevelClient client = new RestHighLevelClient(        RestClient.builder(                new HttpHost("localhost", 9200, "http"),                new HttpHost("localhost", 9201, "http")));

client不再使用的话,要关闭:

client.close();

API及使用实例,参考官网:

Java Client

java client 使用 TransportClient,各种操作本质上都是异步的(可以用 listener,或返回 Future )。

注意:ES的发展规划中在7.0版本开始将废弃 TransportClient,8.0版本中将完全移除 TransportClient,取而代之的是High Level REST Client。

High Level REST Client 中的操作API和java client 大多是一样的。

官方学习链接:

maven中引入:

org.elasticsearch.client
transport
6.4.3

初始化客户端:

//连接集群设置Settings settings = Settings.builder()        .put("cluster.name", "myClusterName").build();		//连接的transport地址,注意端口为9300TransportClient client = new PreBuiltTransportClient(settings)        .addTransportAddress(new TransportAddress(InetAddress.getByName("host1"), 9300))        .addTransportAddress(new TransportAddress(InetAddress.getByName("host2"), 9300));//在关闭时记得关闭客户端对象client.close();

其他API操作可以直接参考官网,官网资料非常齐全

转载地址:http://ywpxi.baihongyu.com/

你可能感兴趣的文章
HTML5学习之——HTML 5 服务器发送事件
查看>>
SVG学习之——HTML 页面中的 SVG
查看>>
SVG 形状学习之——SVG 矩形<rect>
查看>>
SVG 形状学习之——SVG圆形
查看>>
SVG 滤镜学习之——SVG 滤镜
查看>>
mysql中用命令行复制表结构的方法
查看>>
hbase shell出现ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException
查看>>
让代码变得更优雅-Lombok
查看>>
解决Rhythmbox乱码
查看>>
豆瓣爱问共享资料插件发布啦
查看>>
Ubuntu10.10 CAJView安装 读取nh\kdh\caj文件 成功
查看>>
kermit的安装和配置
查看>>
vim 配置
查看>>
openocd zylin
查看>>
进程创建时文件系统处理
查看>>
进程创建时信号处理函数处理
查看>>
进程创建时信号处理
查看>>
进程创建时内存描述符处理
查看>>
进程创建时命名空间处理
查看>>
进程创建时IO处理
查看>>