Elasticsearch常用操作解析
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,创建Maven管理的Java项目在pom.xml中添加依赖:6.1.1 org.elasticsearch.client transport ${es.ve
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
互联网金融 金融科技
友谊互联网络科技
广西互联网科技公司
互联网科技美容
深圳期待互联网科技
互联网前沿科技
四川狮子座互联网科技
一五八零互联网科技
互联网科技博主是什么意思
北京大学互联网科技怎么样
宁夏众和广鑫互联网科技有限公司
消费医药和互联网科技
开一家科技互联网公司需要多少钱
互联网企业科技类企业如何做账
宇信科技在杭州互联网排第几
工业互联网科技成果转化
南京一网一红互联网科技有限公司
万物互联网智能科技
科技互联网经济论坛
伍佰万互联网科技是干嘛的
中关村互联网 科技集团
互联网科技公司电话
苏州大垚互联网科技
昭通云南众福互联网科技有限公司
互联网系的金融科技公司
晋城互联网科技
互联网科技公司营业执照怎么办理
互联网风格科技公司名称
广州有谷有贝互联网科技有限公司
互联网科技创新方面的资料