标签:lse term sea 嵌套 col bool instance 嵌套类 style
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 } }
标签:lse term sea 嵌套 col bool instance 嵌套类 style
原文地址:https://www.cnblogs.com/olzoooo/p/11599565.html