Elasticsearch 获取字段不为空/字段为空或字段存在/字段不存在的数据
Elasticsearch get data where field not null / field is null or field exist / field not exist
我正在使用 elasticsearch spring 数据,我想添加过滤器,以便我可以按 exist/field 不存在的字段或字段值为 null/not 空的字段进行搜索。我应该怎么做?
我知道我应该使用这样的东西:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"exists": {
"field": "price"
}
},
... <-- your other constraints, if any
]
}
}
}
}
}
Bu 如何在 elasticsearch spring 数据中实现它?
Optional.ofNullable(searchParams.getUid()).ifPresent(v -> filters.add(boolFilter().must(???????));
您可能喜欢使用 org.elasticsearch.index.query.FilterBuilders
构建您的 exists
过滤器
FilterBuilders.boolFilter().must(FilterBuilders.existsFilter("price"))
我正在使用 elasticsearch spring 数据,我想添加过滤器,以便我可以按 exist/field 不存在的字段或字段值为 null/not 空的字段进行搜索。我应该怎么做?
我知道我应该使用这样的东西:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"exists": {
"field": "price"
}
},
... <-- your other constraints, if any
]
}
}
}
}
}
Bu 如何在 elasticsearch spring 数据中实现它?
Optional.ofNullable(searchParams.getUid()).ifPresent(v -> filters.add(boolFilter().must(???????));
您可能喜欢使用 org.elasticsearch.index.query.FilterBuilders
构建您的 exists
过滤器
FilterBuilders.boolFilter().must(FilterBuilders.existsFilter("price"))