我正在使用elasticsearch spring数据,我想添加过滤器,我可以按字段搜索存在/字段不存在或字段值为null / not null。我应该怎么做?
我知道我应该使用这样的东西:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"exists": {
"field": "price"
}
},
... <-- your other constraints, if any
]
}
}
}
}
}
如何在elasticsearch spring数据中实现它?
Optional.ofNullable(searchParams.getUid()).ifPresent(v -> filters.add(boolFilter().must(???????));
答案 0 :(得分:4)
您可能希望使用org.elasticsearch.index.query.FilterBuilders
来构建exists
过滤器
FilterBuilders.boolFilter().must(FilterBuilders.existsFilter("price"))