ElasticSearch6(三)-- Java API实现简单的增删改查

时间:2022-06-16 04:14:29

基于ElasticSearch6.2.4, Java API创建索引、查询、修改、删除,pom依赖和获取es连接 可查看此文章

package com.xsjt.learn;
import java.io.IOException;
import java.net.InetAddress;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.update.UpdateResponse;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.alibaba.fastjson.JSONObject; /**
* ClassName:Crud 简单的增删改查 Date: 2018年3月21日 下午12:51:15
*
* @author xbq
* @version
* @since JDK 1.8
*/
public class Crud { public final static String HOST = "192.168.10.58";
// http请求的端口是9200,客户端是9300
public final static int PORT = 9300; private TransportClient client = null; /**
* getConnection:(获取连接).
*
* @author xbq Date:2018年3月21日下午4:03:32
*
* @throws Exception
*/
@SuppressWarnings({ "resource", "unchecked" })
@Before
public void getConnection() throws Exception {
// 设置集群名称
Settings settings = Settings.builder().put("cluster.name", "nmtx-cluster").build();
// 创建client
client = new PreBuiltTransportClient(settings)
.addTransportAddresses(new TransportAddress(InetAddress.getByName(HOST), PORT));
} /**
* closeConnection:(关闭连接).
*
* @author xbq Date:2018年3月21日下午4:03:45
*
*/
@After
public void closeConnection() {
if (client != null) {
client.close();
}
} /**
* testIndex:(创建索引).
*
* @author xbq Date:2018年3月21日下午4:04:16
* @throws IOException
*
*/
@Test
public void testCreateIndex() throws IOException {
JSONObject jsonObject = new JSONObject();
jsonObject.put("orderNo", new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + "001");
jsonObject.put("orderName", "购买元宝");
jsonObject.put("orderTime", new Date());
jsonObject.put("price", 1.5);
jsonObject.put("ip", "192.168.1.111"); IndexResponse response = client.prepareIndex("rxpay", "order").setSource(jsonObject.toString(), XContentType.JSON).get();
System.out.println("索引名称:" + response.getIndex());
System.out.println("类型:" + response.getType());
System.out.println("文档ID:" + response.getId()); // 第一次使用是1
System.out.println("当前实例状态:" + response.status());
} /**
* testQuery:(查询).
* @author xbq
* Date:2018年5月3日下午6:04:22
*/
@Test
public void testQuery() {
try {
GetResponse response = client.prepareGet("rxpay", "order", "6W2QKmMBhrIcTC9dgt7A").execute().actionGet();
System.out.println(response.getSourceAsString());
} catch (Exception e) {
e.printStackTrace();
}
} /**
* testUpdate:(更新).
* @author xbq
* Date:2018年5月3日下午6:07:58
*/
@Test
public void testUpdate() {
JSONObject json = new JSONObject();
json.put("user", "Joe");
json.put("age", "22");
json.put("sex", "男");
json.put("orderTime", "6666666");
UpdateResponse response = client.prepareUpdate("rxpay", "order", "6W2QKmMBhrIcTC9dgt7A").setDoc(json.toJSONString(), XContentType.JSON).get();
System.out.println("索引名称:" + response.getIndex());
System.out.println("类型:" + response.getType());
System.out.println("文档ID:" + response.getId());
System.out.println("当前实例状态:" + response.status());
} /**
* testDelete:(删除).
* @author xbq
* Date:2018年5月4日下午5:44:32
*/
@Test
public void testDelete() {
DeleteResponse response = client.prepareDelete("rxpay", "order", "6W2QKmMBhrIcTC9dgt7A").get();
System.out.println("索引名称:" + response.getIndex());
System.out.println("类型:" + response.getType());
System.out.println("文档ID:" + response.getId());
System.out.println("当前实例状态:" + response.status());
} }

ElasticSearch6(三)-- Java API实现简单的增删改查的更多相关文章

  1. Neo4j学习笔记(1)——使用Java API实现简单的增删改查

    阅读目录 项目的创建及配置 使用嵌入式数据库 创建节点和关系 查询及更新 删除关系和节点 完整代码 参考资料 回到顶部 项目的创建及配置 因为Neo4j依赖的jar包比较多,所以推荐使用Maven来管 ...

  2. Java API实现Hadoop文件系统增删改查

    Java API实现Hadoop文件系统增删改查 Hadoop文件系统可以通过shell命令hadoop fs -xx进行操作,同时也提供了Java编程接口 maven配置 <project x ...

  3. ZooKeeper学习之路 (五)ZooKeeper API的简单使用 增删改查

    zookeeper文件系统的增删改查 public class ZKDemo1 { private static final String CONNECT_STRING = "hadoop1 ...

  4. salesforce 零基础学习(五十一)使用 Salesforce&period;com SOAP API 实现用户登录以及简单的增删改查&lpar;JAVA访问salesforce&rpar;

    此篇请参看:https://resources.docs.salesforce.com/202/latest/en-us/sfdc/pdf/salesforce_developer_environme ...

  5. Java通过JDBC进行简单的增删改查(以MySQL为例)

    Java通过JDBC进行简单的增删改查(以MySQL为例) 目录: 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JD ...

  6. Java web 简单的增删改查程序&lpar;超详细&rpar;

    就是简单的对数据进行增删改查.代码如下: 1.bean层:用来封装属性及其get set方法 toString方法,有参构造方法,无参构造方法等. public class Bean { privat ...

  7. 通过JDBC进行简单的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  8. 初试KONCKOUT&plus;WEBAPI简单实现增删改查

    初试KONCKOUT+WEBAPI简单实现增删改查 前言 konckout.js本人也是刚刚接触,也是初学,本文的目的是使用ko和asp.net mvc4 webapi来实现一个简单增删改查操作.Kn ...

  9. 通过JDBC进行简单的增删改查(以MySQL为例) 目录

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

随机推荐

  1. Android 布局简要范例

    Android的布局决定着实际的UI界面呈现情况,正是这些UI界面的组合与千变万化,才呈现出了各式各样的风格. 而这些基础的布局框架结构很重要,需要玩的很熟悉.我将以前参考的部分代码示例,所做的相关实 ...

  2. 并行编译加快 VS C&plus;&plus; 项目的编译速度

    最近编译的项目都比较大,话说自己的电脑配置还行,但编译所花的时间还是很长,遇到需要重新编译整个项目的时候真的有回宿舍睡一觉的冲动.昨天一不小心被我发现了一款软件Xoreax IncrediBuild ...

  3. 【C&plus;&plus;】冒泡排序、插入排序、快速排序

    #include<iostream> using namespace std; void BubbleSort(int *a,int istart,int len)//冒泡排序 { //a ...

  4. C&num;的位运算符

    C#的位运算符&,| ,^ ,<<,>>2008年08月01日 星期五 15:52位 运 算我们知道任何信息在计算机中都是以二进制的形式保存的位操作符就是对数据按二进制 ...

  5. &lbrack;Erlang危机&rsqb;&lpar;4&period;5&rpar;第四章练习

    原创文章.转载请注明出处:server非业余研究http://blog.csdn.net/erlib 作者Sunface 联系邮箱:cto@188.com Exercises 练习 Review Qu ...

  6. C&num;设计模式之十三代理模式(Proxy)【结构型】

    一.引言   今天我们要讲[结构型]设计模式的第七个模式,也是"结构型"设计模式中的最后一个模式,该模式是[代理模式],英文名称是:Proxy Pattern.还是老套路,先从名字 ...

  7. Feature Extractor&lbrack;DenseNet&rsqb;

    0.背景 随着CNN变得越来越深,人们发现会有梯度消失的现象.这个问题主要是单路径的信息和梯度的传播,其中的激活函数都是非线性的,从而特别是乘法就可以使得随着层数越深,假设将传统的神经网络的每一层看成 ...

  8. 【HTML入门基础知识】从零开始,我要加油!---致HTML

    前言: 今天来和大家分享一下近期自己整理的HTML笔记,希望会对你的学习有所帮助! ***本章关键词:HTML头部格式:常见的块级标签:常见的行级标签:表格:表单. 一.HTML头部格式 一.HTML ...

  9. 火狐浏览器报错&OpenCurlyDoubleQuote;support&period;mozilla&period;org

    火狐浏览器有时候再打开新网页会报此错“support.mozilla.org 有时候火狐浏览器会出现如下状况 解决方法 在地址栏键入”about:config” 点击“我了解此风险” 在下方任意位置右 ...

  10. MongoDB学习3 &dollar;操作符表达式大全及实例

    from : http://blog.csdn.net/qq_16313365/article/details/58599253 1.查询和投影   1.1 比较操作符 $eq 语法:{ <fi ...