NativeSearchQueryBuilder多条件查询,会覆盖前面的条件

NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder()
        .withQuery(QueryBuilders.termQuery("flag", 1))
        .withQuery(QueryBuilders.termQuery("focus", 1))
        .withSort(SortBuilders.fieldSort("createTime").order(SortOrder.DESC));

调用了多个withQuery,通过底层的代码可以看出会覆盖前面withQuery,只保留一个withQuery

 

正确的方法:

NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder();        builder.withQuery(QueryBuilders.boolQuery().must(QueryBuilders.termQuery("flag", 1)).must(QueryBuilders.termQuery("focus", 1)));
 builder.withSort(SortBuilders.fieldSort("createTime").order(SortOrder.DESC));

版权声明:本文为wssmz原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。