Elasticsearch常用操作解析
发表于:2024-12-03 作者:千家信息网编辑
千家信息网最后更新 2024年12月03日,创建Maven管理的Java项目在pom.xml中添加依赖:6.1.1 org.elasticsearch.client transport ${es.ve
千家信息网最后更新 2024年12月03日Elasticsearch常用操作解析
创建Maven管理的Java项目
在pom.xml中添加依赖:
6.1.1 org.elasticsearch.client transport ${es.version}
然后创建一个单元测试类ESApp:
private TransportClient client; @Before public void setUp() throws Exception { Settings settings = Settings.builder() .put("cluster.name", "mycluster") .put("client.transport.sniff", "true")//增加自动嗅探配置 .build(); client = new PreBuiltTransportClient(settings); client.addTransportAddress(new TransportAddress(InetAddress.getByName("10.8.24.94"), 9300)); System.out.println(client.toString()); }
运行后报错
java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonFactory com.fasterxml.jackson.core jackson-core 2.9.3 com.fasterxml.jackson.core jackson-databind 2.9.3 com.fasterxml.jackson.core jackson-annotations 2.9.3
运行后成功拿到ES的client:
创建一个Index
@Test public void createIndex() { client.admin().indices().prepareCreate(INDEX).get(); System.out.println("创建Index成功"); }
删除一个Index
@Test public void deleteIndex() { client.admin().indices().prepareDelete(INDEX).get(); System.out.println("删除Index成功"); }
放入数据的三种方式
//不推荐使用,太繁琐拼json格式 @Test public void createDoc() { String json = "{\"name\":\"若泽数据\"}"; IndexResponse response = client.prepareIndex(INDEX, TYPE, "100") .setSource(json, XContentType.JSON) .get(); } //推荐使用 @Test public void test01() throws Exception { Map json = new HashMap(); json.put("name", "ruozedata"); json.put("message", "trying out Elasticsearch"); IndexResponse response = client.prepareIndex(INDEX, TYPE, "101").setSource(json).get(); System.out.println(response.getVersion()); }//推荐使用 @Test public void test02() throws Exception { XContentBuilder builder = jsonBuilder() .startObject() .field("user", "ruoze") .field("postDate", new Date()) .field("message", "trying out Elasticsearch") .endObject(); IndexResponse response = client.prepareIndex(INDEX, TYPE, "102").setSource(builder).get(); System.out.println(response.getVersion()); }
拿到一条数据
@Test public void getDoc() { GetResponse response = client.prepareGet(INDEX, TYPE, "100").get(); System.out.println(response.getSourceAsString()); }
拿到多条数据
@Test public void getDocsByIds() { MultiGetResponse responses = client.prepareMultiGet() .add(INDEX, TYPE,"100") .add(INDEX, TYPE, "101", "102", "1000") .get(); for (MultiGetItemResponse response : responses) { GetResponse res = response.getResponse(); if (res.isExists()) { System.out.println(res); } else { System.out.println("没有这条数据"); } } }
数据
推荐
成功
运行
繁琐
单元
多条
方式
格式
项目
若泽
后成
测试
管理
配置
常用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器连接上无线网卡
保护好女孩网络安全
王者有其他服务器吗
服务器自己组装
合肥股票软件开发
软件开发制作视频
从重大事件网络安全形势题库
杭州掌霆网络技术有限公司
网络安全主要措施
东莞市财商互联网科技服务公司
网络安全隐患排查治理工作
怎么禁止服务器外链访问
淮北ibm服务器硬盘实时报价
网络安全与文明上网主题班会
数据库管理dba招聘
java 数据库 界面
镇海敏捷软件开发外包
网络安全宣传周莆田
r630服务器开启性能模式
开学日记软件开发
计算机网络技术 课程简介
服务器生存第二期怎么给钻石
贵金属分析软件开发流程
网络安全技术百度题库
成都学习软件开发公司有哪些
德惠通用网络技术质量推荐
山寨币挖矿软件开发
海樊软件开发
自学数据库的面免费网站
软件开发工具也称为