zoukankan      html  css  js  c++  java
  • es嵌套和普通条件一起进行查询

    TransportClient client = EsTransportClient.getInstance();
            SearchRequestBuilder searchRequestBuilder = client.prepareSearch("");
            searchRequestBuilder.setIndices("megacorp");
            searchRequestBuilder.setTypes("employee");
            BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
            QueryBuilder termQueryBuilder1 = QueryBuilders.termQuery("last_name", "smith");
            //嵌套类型查询
            QueryBuilder tags = QueryBuilders.nestedQuery("tags", QueryBuilders.termQuery("tags.userid", "1a"), ScoreMode.Total);
            boolQueryBuilder.must(tags);
            boolQueryBuilder.must(termQueryBuilder1);
            searchRequestBuilder.setQuery(boolQueryBuilder);
            SearchResponse searchResponse = searchRequestBuilder.execute().actionGet();
    

     经过查询后发现boolQueryBuilder结构是这样的,符合预期可以查询成功

    {
      "bool" : {
        "must" : [
          {
            "nested" : {
              "query" : {
                "term" : {
                  "tags.userid" : {
                    "value" : "1a",
                    "boost" : 1.0
                  }
                }
              },
              "path" : "tags",
              "ignore_unmapped" : false,
              "score_mode" : "sum",
              "boost" : 1.0
            }
          },
          {
            "term" : {
              "last_name" : {
                "value" : "smith",
                "boost" : 1.0
              }
            }
          }
        ],
        "adjust_pure_negative" : true,
        "boost" : 1.0
      }
    }
  • 相关阅读:
    java基础 -- 经典排序
    java 基础 ----- Arrays 工具类
    java基础 ---- 二维数组
    java基础 ---- 一维数组
    java基础 ---- 练习for循环
    AI 偏微分方程
    AI 反向传播神经网络
    AI 判别式模型和生成式模型
    AI 隐含狄利克雷分布
    AI 朴素贝叶斯分类
  • 原文地址:https://www.cnblogs.com/olzoooo/p/11599565.html
Copyright © 2011-2022 走看看