【问题标题】:ElasticSearch get all fields even if their value is nullElasticSearch 获取所有字段,即使它们的值为 null
【发布时间】:2014-09-15 13:47:59
【问题描述】:

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

示例请求:

{
    "fields" : ["Field1","Field2","Field3"],
    "query" : {
        "match_all" : {}
    }
}

示例响应:

{
    "hits": [
        {
            "fields": {
                "Field1": [
                    "bla"
                ],
                "Field2": [
                    "test"
                ]
            }
        },
        {
            "fields": {
                "Field1": [
                    "bla"
                ],
                "Field2": [
                    "test"
                ],
                "Field3": [
                    "somevalue"
                ]
            }
        }
    ]
}

我的目标是在第一击中为"Field3" 获得一些东西。

【问题讨论】:

  • 索引中的第一个文档是否有“Field3”?
  • 不,它没有。该字段存在于索引中,但对于特定文档没有值。

标签: elasticsearch


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-14
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 2019-12-04
    • 2019-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多