如何在Elasticsearch索引中搜索值为字段为空数组的文档?

时间:2018-09-12 13:56:52

标签: elasticsearch

我需要获取Elasticseach索引中的文档,该文档的字段为空数组(可以嵌套)吗?

按以下方式进行操作不起作用

SQL_PATCH

{
  "query": {
    "filter": {
      "script": {
        "script": "doc['arrayField'].length > 0"
      }
    }
  } 
}

似乎我必须使用过滤器功能以及一些脚本,但无法弄清楚该怎么做。

1 个答案:

答案 0 :(得分:0)

要获取具有空数组的文档,我们需要找到字段的长度,并查看其长度是否小于1。请使用下面的有效查询。

"query": {
        "bool" : {
            "must" : {
                "script" : {
                    "script" : {
                        "inline": "doc['arrayField'].length < 1",
                        "lang": "painless"
                     }
                }
            }
        }
    }

如果您发现任何问题,请告诉我。
谢谢