ElasticSearch6(三)-- Java API实现简单的增删改查
基于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实现简单的增删改查的更多相关文章
- Neo4j学习笔记(1)——使用Java API实现简单的增删改查
阅读目录 项目的创建及配置 使用嵌入式数据库 创建节点和关系 查询及更新 删除关系和节点 完整代码 参考资料 回到顶部 项目的创建及配置 因为Neo4j依赖的jar包比较多,所以推荐使用Maven来管 ...
- Java API实现Hadoop文件系统增删改查
Java API实现Hadoop文件系统增删改查 Hadoop文件系统可以通过shell命令hadoop fs -xx进行操作,同时也提供了Java编程接口 maven配置 <project x ...
- ZooKeeper学习之路 (五)ZooKeeper API的简单使用 增删改查
zookeeper文件系统的增删改查 public class ZKDemo1 { private static final String CONNECT_STRING = "hadoop1 ...
- salesforce 零基础学习(五十一)使用 Salesforce.com SOAP API 实现用户登录以及简单的增删改查(JAVA访问salesforce)
此篇请参看:https://resources.docs.salesforce.com/202/latest/en-us/sfdc/pdf/salesforce_developer_environme ...
- Java通过JDBC进行简单的增删改查(以MySQL为例)
Java通过JDBC进行简单的增删改查(以MySQL为例) 目录: 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JD ...
- Java web 简单的增删改查程序(超详细)
就是简单的对数据进行增删改查.代码如下: 1.bean层:用来封装属性及其get set方法 toString方法,有参构造方法,无参构造方法等. public class Bean { privat ...
- 通过JDBC进行简单的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- 初试KONCKOUT+WEBAPI简单实现增删改查
初试KONCKOUT+WEBAPI简单实现增删改查 前言 konckout.js本人也是刚刚接触,也是初学,本文的目的是使用ko和asp.net mvc4 webapi来实现一个简单增删改查操作.Kn ...
- 通过JDBC进行简单的增删改查(以MySQL为例) 目录
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
随机推荐
- SIGALRM信号和SIGCHID信号
在进行堵塞式系统调用时.为避免进程陷入无限期的等待,能够为这些堵塞式系统调用设置定时器.Linux提供了alarm系统调用和SIGALRM信号实现这个功能. 要使用定时器.首先要安装SIGALRM信号 ...
- sf2gis@163.com
1.下载boost1.52,http://www.boost.org/.解压文件到d:\boost\boost_1_52_0. 2.下载python2.7.3,http://www.python.or ...
- python3简单使用requests 用户代理,cookie池
官方文档:http://docs.python-requests.org/en/master/ 参考文档:http://www.cnblogs.com/zhaof/p/6915127.html#und ...
- Java高编译低运行错误(ConcurrentHashMap.keySet)
Java高编译低运行错误(ConcurrentHashMap.keySet) 调了一天: https://www.jianshu.com/p/f4996b1ccf2f
- 这些年我在技术路上做过最虚伪愚蠢的事情,就是在CSDN上刷屏赚分
现在似乎Github成了所谓技术人士的新宠,之前是博客,更早则是论坛. CSDN是众多技术论坛里比较突出的一个,人多高手也多,很多问题都能得到满意的回答. 谁都希望自己卓尔不群,我也不例外,我也想像那 ...
- 【CSS Demo】网站页面变灰
让网站所有元素变成灰色调,全浏览器支持,使用了滤镜,比较吃性能,建议作临时方案使用. 实现效果(点击下面的按钮): 这里放一张图片作为效果展示: 其CSS代码如下: body{ -webkit-fil ...
- .NET Unity XML 配置文件(2)
本文内容 Unity 配置示意图 Unity 的 XML 架构 参考资料 研究配置文件总是很麻烦,而且很可能因为版本问题,会稍有不同.如果你不确定 Unity 是否支持以及如何支持某个元素,就看下相关 ...
- hive行转列
一.问题 hive如何将 a ,, b , c 转化成为: a a a b b c 二.原始数据 cat row_column.txt a ,, b , c 三.解决方案 3.1 遍历每一列 3.1. ...
- swift3 与 OC 语法区别
1.Swift还增加了Objective-C中没有的类型比如元组(Tuple). 元组可以让你创建或者传递一组数据,比如作为函数的返回值时,你可以用一个元组可以返回多个值. 元组(tuples)把多个 ...
- arcgismanager登陆信息不对
arcgis版本:arcgis10 安装arcgis server后(java版的win764位系统),发现arcgis管理器登陆界面(http://localhost:8099/arcgismana ...