zoukankan      html  css  js  c++  java
  • ES--ids查询

    参考Elasticsearch Reference [7.10] » Query DSL » Term-level queries » IDs

    一、ID 查询

      ES每一行数据,即文档都会有一个id,如果指定某一列field值作为id,则该列field必须为唯一键,类似于MySQL的UK;不过不指定,ES会自动生成,常常为了更好的定位数据,会指定一列满足UK的field作为文档的id,接下来我们说一下根据id查询。
    类似MySQL的 where id=?

    1.1、命令行

    GET /sms-logs-index/_doc/1
     
    

    1.2、java 代码

        @Test
        public void idQuery() throws IOException {
            GetRequest request = new GetRequest(index);
    
            GetResponse resp = client.get(request.id("1"), RequestOptions.DEFAULT);
    
            System.out.println(resp);
        }
    

    二、IDs查询

    根据多个id查询,类似MySQL中的where id in(id1,id2,id3)

    2.1、命令行

    POST /sms-logs-index/_search?pretty
    {
      "query": {
        "ids": {
          "values": [1,2,3]
        }
      }
    }
    

    2.2、java 代码

        @Test
        public void idsQuery() throws IOException {
            //1。创建request对象,查询用的对象一般都是SearchRequest对象
            SearchRequest mySearchRequest = new SearchRequest(index);
    
            //2,指定查询条件,依赖查询条件的对象SearchSourceBuilder的对象
            SearchSourceBuilder builder = new SearchSourceBuilder();
            builder.from(0).size(10).query(QueryBuilders.idsQuery().addIds("1", "2", "3"));
    
            mySearchRequest.source(builder);
            //3. 执行查询
            SearchResponse search = client.search(mySearchRequest, RequestOptions.DEFAULT);
    
            //4. 获取到_source中的数据,并展示
            //注意RESTFUL风格上是两个hits,所以这里要两次getHits()
            for (SearchHit hit : search.getHits().getHits()) {
                Map<String, Object> result = hit.getSourceAsMap();
                System.out.println(result);
            }
        }
    

    关注我的公众号【宝哥大数据】,更多干货

    在这里插入图片描述

  • 相关阅读:
    Codeforces-799C-Fountains(分类讨论+线段树)
    HDU-3486-Interviewe(二分+RMQ)
    小技巧---查doc文档的index.html怎么用的和chm一样
    chm文件右边部分查看不了
    最长公共临时文档7
    拓展欧几里得临时文档5
    关于myeclipse代码提示的一些问题
    mysql--乱码
    三分--Football Goal(面积最大)
    printf的一个常用技巧
  • 原文地址:https://www.cnblogs.com/chengbao/p/14978922.html
Copyright © 2011-2022 走看看