首页 > 解决方案 > Elasticsearch如何在java API中的must_not中添加布尔查询并具有多个匹配?

问题描述

我在 Elasticsearch 中有这样的查询:

{
    "query": { 
        "bool": { 
          "must_not": [
            { "match": "filed1" : "value1"},
            { "match": "filed2" : "value2"}
          ]
        }
      }
}

我试过下面的代码。但它只适用于单场比赛。

BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); boolQueryBuilder.mustNot(QueryBuilders.matchQuery("field1","value1");

在 java API中使用must_notwith的方法是什么。谢谢。multiple match

标签: elasticsearchelasticsearch-6elasticsearch-java-api

解决方案


好的开始!您可以根据需要简单地调用mustNot()多次:

BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); 
boolQueryBuilder.mustNot(QueryBuilders.matchQuery("field1","value1"));
boolQueryBuilder.mustNot(QueryBuilders.matchQuery("field2","value2"));

就那么简单 ;-)


推荐阅读