如何使用Spring Data Elasticsearch构建bool must match查询?
Java构建Elasticsearch Bool Must Match查询疑问
目标查询结构
需要构建的Elasticsearch查询如下:
GET offers/_search { "query": { "bool": { "must": [ { "match": { "offerLine": "Technology" } } ] } } }
编写的Java代码
我写了以下代码,但运行后获取到null值:
private NativeQueryBuilder prepareElasticQuery(OfferRequest request){ BoolQuery.Builder bqb = QueryBuilders.bool(); bqb.must(m->m.match(ma->ma.field("offerLine").query(request.getOfferLine()))); NativeQueryBuilder nqb= new NativeQueryBuilder().withQuery(bqb.build()._toQuery()); return nqb; }
生成的bool查询内容为:
BoolQuery: {"must":[{"match":{"offerLine":{"query":"Technology"}}}]}
疑问与后续说明
因为value()方法已废弃,我找不到合适的替代方法,请问该如何正确构建这个查询?
编辑补充:上述写法本身是正确的,问题出在后续的结果处理环节。
内容的提问来源于stack exchange,提问作者maudderung
相关产品推荐
相关产品推荐

