ES-入门-javaApi-文档-新增-删除

新增指定索引的文档数据的代码如下:

java 复制代码
package com.atgulgu.es.test;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.http.HttpHost;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.Request;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.indices.GetIndexRequest;
import org.elasticsearch.client.indices.GetIndexResponse;
import org.elasticsearch.xcontent.XContentType;

/**
 * ClassName: ESTest_Client
 * Package: com.atgulgu.es.test
 *
 * @Author 杨小燕
 * @Create 2024/10/7 0007 23:37
 * @Version 1.0
 */
public class ESTest_Doc_Insert {
    public static void main(String[] args)  throws  Exception {
      //创建ES客户单
        RestHighLevelClient esClient =  new RestHighLevelClient(
                RestClient.builder(new HttpHost("192.168.1.108",9200,"http"))
        );


     //插入数据
        IndexRequest  request = new IndexRequest();
        request.index("user").id("1001");

        User  user = new User();
        user.setName("zhangsan");
        user.setAge(30);
        user.setSex("男");

        //向ES插入数据,必须将数据转换为JSOn格式
        ObjectMapper  mapper = new ObjectMapper();
        String userjson = mapper.writeValueAsString(user);
        request.source(userjson, XContentType.JSON);

        IndexResponse response = esClient.index(request, RequestOptions.DEFAULT);
        System.out.println(response.getResult());


        //关闭ES客户端

        esClient.close();
    }
}

执行成功会提示created

修改数据的代码如下:

java 复制代码
package com.atgulgu.es.test;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.http.HttpHost;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.update.UpdateRequest;
import org.elasticsearch.action.update.UpdateResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.xcontent.XContentType;

/**
 * ClassName: ESTest_Client
 * Package: com.atgulgu.es.test
 *
 * @Author 杨小燕
 * @Create 2024/10/7 0007 23:37
 * @Version 1.0
 */
public class ESTest_Doc_update {
    public static void main(String[] args)  throws  Exception {
      //创建ES客户单
        RestHighLevelClient esClient =  new RestHighLevelClient(
                RestClient.builder(new HttpHost("192.168.1.108",9200,"http"))
        );


     //修改数据
        UpdateRequest request = new UpdateRequest();
        request.index("user").id("1001");
         request.doc(XContentType.JSON,"sex","女");

        UpdateResponse response = esClient.update(request, RequestOptions.DEFAULT);
        System.out.println(response.getResult());


        //关闭ES客户端

        esClient.close();
    }
}

查询ES中具体索引和ID的数据代码如下:

java 复制代码
package com.atgulgu.es.test;

import org.apache.http.HttpHost;
import org.elasticsearch.action.get.GetRequest;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.update.UpdateRequest;
import org.elasticsearch.action.update.UpdateResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.xcontent.XContentType;

/**
 * ClassName: ESTest_Client
 * Package: com.atgulgu.es.test
 *
 * @Author 杨小燕
 * @Create 2024/10/7 0007 23:37
 * @Version 1.0
 */
public class ESTest_Doc_Get {
    public static void main(String[] args)  throws  Exception {
      //创建ES客户单
        RestHighLevelClient esClient =  new RestHighLevelClient(
                RestClient.builder(new HttpHost("192.168.1.108",9200,"http"))
        );


     //查询数据
        GetRequest request = new GetRequest();
        request.index("user").id("1001");

        GetResponse response = esClient.get(request, RequestOptions.DEFAULT);
        System.out.println(response.getSourceAsString());


        //关闭ES客户端

        esClient.close();
    }
}

执行结果如下:

删除指定文档的代码如下

java 复制代码
package com.atgulgu.es.test;

import org.apache.http.HttpHost;
import org.elasticsearch.action.delete.DeleteRequest;
import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.action.get.GetRequest;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;

/**
 * ClassName: ESTest_Client
 * Package: com.atgulgu.es.test
 *
 * @Author 杨小燕
 * @Create 2024/10/7 0007 23:37
 * @Version 1.0
 */
public class ESTest_Doc_Delete {
    public static void main(String[] args)  throws  Exception {
      //创建ES客户单
        RestHighLevelClient esClient =  new RestHighLevelClient(
                RestClient.builder(new HttpHost("192.168.1.108",9200,"http"))
        );


        //删除文档数据
        DeleteRequest request = new DeleteRequest();
        request.index("user").id("1001");


        DeleteResponse response = esClient.delete(request, RequestOptions.DEFAULT);
        System.out.println(response.toString());


        //关闭ES客户端

        esClient.close();
    }
}

执行显示结果如下

相关推荐
RunningShare6 小时前
千万级用户电商平台,Flink实时推荐系统如何实现毫秒级延迟?
大数据·flink·推荐系统·ab测试
INFINI Labs7 小时前
如何使用 INFINI Gateway 对比 ES 索引数据
大数据·elasticsearch·gateway·easysearch
他们叫我技术总监12 小时前
外企 BI 工具选型:从合规到落地
大数据·bi
Lansonli14 小时前
大数据Spark(六十七):Transformation转换算子distinct和mapValues
大数据·分布式·spark
RunningShare14 小时前
基于Flink的AB测试系统实现:从理论到生产实践
大数据·flink·ab测试
Elasticsearch15 小时前
Elasticsearch:使用推理端点及语义搜索演示
elasticsearch
Jolie_Liang16 小时前
保险业多模态数据融合与智能化运营架构:技术演进、应用实践与发展趋势
大数据·人工智能·架构
武子康17 小时前
大数据-118 - Flink 批处理 DataSet API 全面解析:应用场景、代码示例与优化机制
大数据·后端·flink
文火冰糖的硅基工坊17 小时前
《投资-78》价值投资者的认知升级与交易规则重构 - 架构
大数据·人工智能·重构
卡拉叽里呱啦19 小时前
Apache Iceberg介绍、原理与性能优化
大数据·数据仓库