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));