于elasticsearch-rest-high-level-client 操作 Es

  • 安装Java:要求JDK为1.8及以上版本。
  • 创建阿里云Elasticsearch实例:实例版本要求大于等于elasticsearch-rest-high-level-client的版本。本文创建一个6.3.2版本的实例。
    注意 High Level Client能够向上兼容,例如6.3.2版本的elasticsearch-rest-high-level-client能确保与大于等于6.3.2版本的Elasticsearch集群通信。为了保证最大程度地使用最新版客户端的特性,推荐High Level Client版本与集群版本一致。
  • 创建Java Maven工程,并将如下的pom依赖添加到Java工程的pom.xml文件中。
    添加pom依赖
    说明 本文以Elasticsearch 6.3.2版本为例。

pom依赖

<dependency><groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>6.3.2</version> </dependency>

示例

以下示例使用Index API索引文档,随即使用Delete API删除该文档。

//文件路径为:src/main/java/RestClientTest.java。
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.CredentialsProvider; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; import org.elasticsearch.action.delete.DeleteRequest; import org.elasticsearch.action.delete.DeleteResponse; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.index.IndexResponse; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClientBuilder; import org.elasticsearch.client.RestHighLevelClient; import java.io.IOException; import java.util.HashMap; import java.util.Map; public class RestClientTest { public static void main(String[] args) { // 阿里云ES集群需要basic auth验证。 final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); //访问用户名和密码为您创建阿里云Elasticsearch实例时设置的用户名和密码,也是Kibana控制台的登录用户名和密码。 credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("{访问用户名}", "{访问密码}")); // 通过builder创建rest client,配置http client的HttpClientConfigCallback。 // 单击所创建的Elasticsearch实例ID,在基本信息页面获取公网地址,即为ES集群地址。 RestClientBuilder builder = RestClient.builder(new HttpHost("{ES集群地址}", 9200)) .setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() { @Override public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); } }); // RestHighLevelClient实例通过REST low-level client builder进行构造。 RestHighLevelClient highClient = new RestHighLevelClient(builder); try { // 创建request。 Map<String, Object> jsonMap = new HashMap<>(); // field_01、field_02为字段名,value_01、value_02为对应的值。 jsonMap.put("{field_01}", "{value_01}"); jsonMap.put("{field_02}", "{value_02}"); //index_name为索引名称;type_name为类型名称;doc_id为文档的id。 IndexRequest indexRequest = new IndexRequest("{index_name}", "{type_name}", "{doc_id}").source(jsonMap); // 同步执行。 IndexResponse indexResponse = highClient.index(indexRequest); long version = indexResponse.getVersion(); System.out.println("Index document successfully! " + version); //index_name为索引名称;type_name为类型名称;doc_id为文档的id。与以上创建索引的名称和id相同。 DeleteRequest request = new DeleteRequest("{index_name}", "{type_name}", "{doc_id}"); DeleteResponse deleteResponse = highClient.delete(request); System.out.println("Delete document successfully!"); highClient.close(); } catch (IOException ioException) { // 异常处理。 } } }

转载于:https://www.cnblogs.com/zeenzhou/p/11479479.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549549.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

序列图

序列图主要用于按照交互发生的一系列顺序&#xff0c;显示对象之间的这些交互。很象类图&#xff0c;开发者一般认为序列图只对他们有意义。然而&#xff0c;一个组织的业务人员会发现&#xff0c;序列图显示不同的业务对象如何交互&#xff0c;对于交流当前业务如何进行很有用…

MS SQL Server 2008 简体中文正式版下载地址(附序列号)

Microsoft SQL Server 2008 Enterprise Evaluation&#xff1a;开发人员试用体验http://www.microsoft.com/downloads/details.aspx?FamilyId6B10C7C1-4F97-42C4-9362-58D4D088CD38&displaylangzh-cn Microsoft SQL Server 2008 Enterprise Evaluation&#xff1a;IT 专业…

小型网络的组建及排错

今天施工 给公司组建了一小型网络 以下是此次施工的拓扑图具体的实施方法不再啰嗦&#xff0c;在此要声明配线架只是起到了方便管理的作用&#xff0c;实施过程中也可以不用到配线架。 房间1又通过一HUB共享上网&#xff0c;房间2有两个客户端&#xff0c;直接连接到2924交换机…

大道五目Flash英文版(Renju Problems)程序分析之禁手判断

现在界面已经完成了&#xff0c; 刚刚完成了禁手算法&#xff0c;把代码共享出来&#xff1a; Codeprivate function IsForbidden(x:int, y:int, board:Array):int { var index:int x*15y; // set this position(x,y) to black. …

Google Earth的十个常用技巧应用

2004年10月27日Google宣布收购了美国的一家卫星图像公司Keyhole公司&#xff0c;并于2005年6月推出了Google Earth系列软件。用户们可以通过下载一个Google Earth客户端软件&#xff0c;就可以免费浏览全球各地的高清晰度卫星图片。 Google卫星地图的横空出世&#xff0c;催生了…

BENET上海分公司网络改造项目设计实施方案(S1项目实践)

BENET上海分公司网络改造项目设计实施方案 目录 目录- - 1 - 一、企业用户需求分析- - 2 - 1.1、项目概述-- - 2 - 1.2、系统需求概括-- - 3 - 1.3、项目建设的要求-- - 4 - 二、项目方案的整体设计与实施- - 5 - 2.1、网络系统的分析与设计-- - 5 - 2.2、系统及应用服务的分析…

IIS6.0应用程序池回收和工作进程【转:http://www.cnblogs.com/freshman0216/archive/2008/06/02/1212460.html】...

公司的一个网站程序长时间运行后&#xff0c;速度变慢&#xff0c;重新启动网站后速度明显变快&#xff0c;估计是网站程序占用的内存和CPU资源没能及时释放&#xff0c;才需要每隔一段时间重启网站释放资源。但手工重启总不能算解决问题的方法&#xff0c;怎样才能实现自动管理…

配置IPsec on GRE Tunnel with IOS Firewall and NAT

配置IPsec on GRE Tunnel with IOS Firewall and NAT<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />详细配置见附件

广播地址详谈!

一、问题的提出大家看到这个标题&#xff0c;一定会觉得非常简单&#xff0c;不错&#xff0c;对于高手们来说&#xff0c;这确实不值一提&#xff0c;但是&#xff0c;对于广大非高手的兄弟&#xff0c;还是有必要了解一下。以前&#xff0c;我对广播地址的认识也是模模糊糊&a…

多核分布式队列的实现:“偷”与“自私”的运用(1)

多核分布式队列的实现&#xff1a;"偷"与"自私"的运用 在讨论本文的正题前&#xff0c;不得不先说一些闲话&#xff0c;嫌哆嗦者可以跳过"前言"部分不读。1. 前言在发表了"老子是伟大的多核计算科学家" &#xff08;链接&#xff1a;[…

近期刷题记录表

9月14日&#xff1a;   luogu P1627 [CQOI2009]中位数 题意&#xff1a;给出1~n的一个排列&#xff0c;统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后&#xff0c;位于中间的数。 题解&#xff1a;根据中位数的性质&#xff0c…

《性能测试从零开始--LoadRunner入门》读书笔记(四)

终于看完了澳网的赛事了&#xff0c;今天要把第五章的读书笔记完成&#xff0c;哈哈。 4.参数化 书中花了不少力气说明这方面的用法&#xff0c;可见参数化在整个脚本的制作过程中的重要性。在这个session开始的时候&#xff0c;书使用了不少的废话去说明白参数化的意义和参数化…

我的RSS我做主:My RSS

昨天晚上通过google reader 浏览自己的网站时发现&#xff0c;Rss输出的内容比较简单&#xff0c;没有我想输出内容,诸如“评论数”、“评论文章”&#xff0c;“永久链接”等等。修改wordpress RSS 输出函数话&#xff0c;每次更新更新wordpress又要重新改一次&#xff0c;比较…

luogu P3407 散步 二分答案

题目描述 一条道路上&#xff0c;位置点用整数A表示。 当A0时&#xff0c;有一个王宫。当A>0&#xff0c;就是离王宫的东边有A米&#xff0c;当A<0&#xff0c;就是离王宫的西边有A米。 道路上&#xff0c;有N个住宅从西向东用1-N来标号。每个住宅有一个人。住宅只会存在…

网络攻击与防御 实验1

做实验的截图 转载于:https://www.cnblogs.com/ma1998/p/11536582.html

SQL注入原理-手工联合注入查询技术

实验报告记录 得到实验结果 转载于:https://www.cnblogs.com/ma1998/p/11536959.html

51CTO寄来的奖品

这两周都是天天上班面对着电脑,挺无聊的.不过幸好有51CTO与我相伴,一直都在关注51CTO的活动.最近我所在的项目组的老员工个个都新买了笔记本,之前他们所用的旧笔记本自然退还给公司了.呵呵,这样像我这样的新员工就有笔记本分配的了,虽然旧了些还是将就着用了.就这样,回到员工宿…

实验3 SQL注入原理-万能密码注入

实验目的 &#xff08;1&#xff09;理解【万能密码】的原理 &#xff08;2&#xff09;学习【万能密码】的使用 实验原理 一、访问目标网站 1.选择一个存在漏洞的论坛 http://192.168.1.3:8009 进入 2.输入用户名【admin】&#xff0c;密码【2‘ or 1】 转载于:https://www.cn…

[转]使用URLConnection下载文件或图片并保存到本地

Codeimport java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; /** * 使用URLConnection下载文件或图片并保存到本地。 * * author 老紫竹(laozizhu.com) …

整理了一些t-sql技巧

把长日期转换为短日期 Convert(char(10),getdate(),120) MS-SQL数据库开发常用汇总 1.按姓氏笔画排序:Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as 2.数据库加密:select encrypt(原始密码)select pwdencrypt(原始密码)select pwdcompa…