您当前的位置: 首页 >  Java

java持续实践

暂无认证

  • 4浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

es 7.x JavaAPI 文档 批量新增

java持续实践 发布时间:2022-01-16 14:53:40 ,浏览量:4

文章目录
      • 查询所有

查询所有

查询数据之前, 先插入一批数据:

import org.apache.http.HttpHost;
import org.elasticsearch.action.bulk.BulkRequest;
import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.xcontent.XContentType;

import java.util.Arrays;

/**
 * 类名称:ESTest_Client
 * 类描述: 创建索引
 *
 * @author:
 * 创建时间:2022/1/11 21:05
 */
public class ESTest_Doc_Insert_Batch {

    public static void main(String[] args) throws Exception {
        RestHighLevelClient esClient = null;
        // 创建ES客户端
        try {
            esClient = new RestHighLevelClient(
                    RestClient.builder(new HttpHost("127.0.0.1", 9200, "http"))
            );
            BulkRequest request = new BulkRequest();

            request.add(new IndexRequest().index("user").id("1001").source(XContentType.JSON, "name", "zhangsan", "age",30,"sex","男"));
            request.add(new IndexRequest().index("user").id("1002").source(XContentType.JSON, "name", "lisi", "age",30,"sex","女"));
            request.add(new IndexRequest().index("user").id("1003").source(XContentType.JSON, "name", "wangwu", "age",40,"sex","男"));
            request.add(new IndexRequest().index("user").id("1004").source(XContentType.JSON, "name", "wangwu1", "age",40,"sex","女"));
            request.add(new IndexRequest().index("user").id("1005").source(XContentType.JSON, "name", "wangwu2", "age",50,"sex","男"));
            request.add(new IndexRequest().index("user").id("1006").source(XContentType.JSON, "name", "wangwu3", "age",50,"sex","男"));
            request.add(new IndexRequest().index("user").id("1007").source(XContentType.JSON, "name", "wangwu44", "age",60,"sex","男"));
            request.add(new IndexRequest().index("user").id("1008").source(XContentType.JSON, "name", "wangwu555", "age",60,"sex","男"));
            request.add(new IndexRequest().index("user").id("1009").source(XContentType.JSON, "name", "wangwu66666", "age",60,"sex","男"));

            BulkResponse response = esClient.bulk(request, RequestOptions.DEFAULT);
            System.out.println("批量创建文档操作花费毫秒数:" + response.getTook());
            System.out.println("批量创建文档操作结果:" + Arrays.asList(response.getItems()).toString());

        } finally {
            if (esClient != null) {
                // 关闭ES客户端
                esClient.close();
            }
        }
    }
}

接着再查询一批数据.

import org.apache.http.HttpHost;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits;
import org.elasticsearch.search.builder.SearchSourceBuilder;

/**
 * @author:
 * 创建时间:2022/1/11 21:05
 */
public class ESTest_Doc_QueryAll {

    public static void main(String[] args) throws Exception {
        RestHighLevelClient esClient = null;
        // 创建ES客户端
        try {
            esClient = new RestHighLevelClient(
                    RestClient.builder(new HttpHost("127.0.0.1", 9200, "http"))
            );
            SearchRequest request = new SearchRequest();
            request.indices("user");
            // 查询所有
            request.source(new SearchSourceBuilder().query(QueryBuilders.matchAllQuery()));
            SearchResponse response = esClient.search(request, RequestOptions.DEFAULT);
            // 查询命中的信息
            SearchHits hits = response.getHits();

            System.out.println(hits.getTotalHits());
            System.out.println(response.getTook());
            for (SearchHit hit : hits) {
                System.out.println(hit.getSourceAsString());
            }

        } finally {
            if (esClient != null) {
                // 关闭ES客户端
                esClient.close();
            }
        }
    }
}

查询结果打印如下

9 hits 12ms {“name”:“zhangsan”,“age”:30,“sex”:“男”} {“name”:“lisi”,“age”:30,“sex”:“女”} {“name”:“wangwu”,“age”:40,“sex”:“男”} {“name”:“wangwu1”,“age”:40,“sex”:“女”} {“name”:“wangwu2”,“age”:50,“sex”:“男”} {“name”:“wangwu3”,“age”:50,“sex”:“男”} {“name”:“wangwu44”,“age”:60,“sex”:“男”} {“name”:“wangwu555”,“age”:60,“sex”:“男”} {“name”:“wangwu66666”,“age”:60,“sex”:“男”}

可以看到成功查询了所有的数据.

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.1719s