0

我使用elasticsearch彈簧數據,我想添加過濾器,我可以按字段搜索存在/字段不存在或字段值爲空/不爲空。我應該怎麼做?Elasticsearch獲取數據,其中字段非空/字段爲空或字段存在/字段不存在

我知道即時應該使用這樣的事情:

{ 
    "query": { 
    "filtered": { 
     "filter": { 
     "bool": { 
      "must": [ 
      { 
       "exists": { 
       "field": "price" 
       } 
      }, 
      ...  <-- your other constraints, if any 
      ] 
     } 
     } 
    } 
    } 
} 

卜如何elasticsearch春天數據實現它?

Optional.ofNullable(searchParams.getUid()).ifPresent(v -> filters.add(boolFilter().must(???????)); 

回答

4

你可能喜歡用org.elasticsearch.index.query.FilterBuilders建立你exists過濾

FilterBuilders.boolFilter().must(FilterBuilders.existsFilter("price"))