代码之家  ›  专栏  ›  技术社区  ›  qtopierw

Elasticsearch复合查询是否具有可为空或值的特定项?

  •  0
  • qtopierw  · 技术社区  · 6 年前

    我想用一个带有一些值的词进行搜索,并且还允许默认的可空值。尝试编写下面这样的代码,但似乎不起作用。

    new BoolQueryBuilder().should(QueryBuilders.termsQuery(esPropertyName, values))
                .mustNot(QueryBuilders.existsQuery(esPropertyName));
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   qtopierw    6 年前

    想个办法:

    QueryBuilders.boolQuery().should(QueryBuilders.termsQuery(esPropertyName, values))
                .should(QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery(esPropertyName)));