查找字段按字面意义存在的所有文档:在 Elasticsearch 中它有值或为空

Find all documents where field exists literally: either it has a value or it is null in Elasticsearch

我知道如何判断 Elasticsearch 6.8 中非空字段的文档,例如:

GET grch38_test__wes__grch38__variants__20210222/_search
{
  "query": {
    "bool": {
      "must": [{
        "exists": {
          "field": "hgmd_accession"
        }
      }]
    }
  }
}

但是如何在一个查询中 return 现有(非空)和空值?我需要找到值字面上存在的文档:为空或设置为 null。我的索引中可能有一些文档根本不存在该字段,我需要 _reindex 那些以任何形式存在该字段的文档。

我不认为可以搜索空值,因为它们没有被 elasticsearch 索引。

如果您可以更改索引映射,那么您应该查看 elasticsearch 提供的 null_value 属性。 在这里找到它:https://www.elastic.co/guide/en/elasticsearch/reference/6.8/null-value.html