ElasticSearch即使其值为null也会获取所有字段

dch*_*har 6 elasticsearch

我想搜索ElasticSearch并从所有记录中检索特定字段,无论它们的值如何.但响应仅包含每个记录的值为非的字段.有没有办法强制ElasticSearch为所有记录返回完全相同数量的字段?

示例请求:

{
    "fields" : ["Field1","Field2","Field3"],
    "query" : {
        "match_all" : {}
    }
}
Run Code Online (Sandbox Code Playgroud)

响应示例:

{
    "hits": [
        {
            "fields": {
                "Field1": [
                    "bla"
                ],
                "Field2": [
                    "test"
                ]
            }
        },
        {
            "fields": {
                "Field1": [
                    "bla"
                ],
                "Field2": [
                    "test"
                ],
                "Field3": [
                    "somevalue"
                ]
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我的目标是"Field3"在第一次打击时获得一些东西.

Kum*_*ash 1

根据以下链接中给出的指南,它清楚地表明任何具有 null、[] 或“”的字段都不会在文档中存储或索引。它是倒排索引概念,必须在程序中显式处理。

链接 - http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_dealing_with_null_values.html