Elasticsearch 获取属性不为空的文档

rap*_*2-h 1 elasticsearch kibana

如果我想返回所有具有空属性 ( IMG)的文档,我可以执行以下操作:

GET something/_search/?
{
  "query": {
    "term": {"IMG": ""}
  }
}
Run Code Online (Sandbox Code Playgroud)

它有效,因为IMG是关键字。如果我想要精确的 inverse,这意味着获取所有IMG不为空的文档,我应该输入什么?是否有term查询的“逆” ?

换句话说,Elasticsearch 有没有办法获取属性不为空的文档

Val*_*Val 6

你上面的解决方案也会返回字段为空的文档,我猜你不想要。所以正确的解决方案是这个:

GET memoire/_search/?
{
  "query": {
    "bool": {
      "filter": {
        "exists": {
          "field": "test"
        }
      },
      "must_not": {
        "term": {
          "test.keyword": ""
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)