Elasticsearch获取嵌套字段

Kousha

我正在尝试以下查询:

{
    "fields": [
        "id",
        "payload",
        "payload_parsed"
    ],
    "query": {
        "filtered": {
            "filter": {
                "bool": {
                    "must": [
                        {
                            "match": {
                                "id": "some-id-123"
                            }
                        }
                    ]
                }
            }
        }
    }
}

payload是JSON字符串,并且payload_parsed是解析后的有效负载。我不知道有效载荷是什么,它有多少层嵌套。我不是在上进行查询payload_parsed,而是在上进行查询id这是我得到的错误:"field [payload_parsed] isn't a leaf field"

如何获取数据?

尤里·切雷斯蒂安(Yuri Tceretian)

这是一个已记录的功能。在中,fields您只能使用叶节点,即没有子节点的节点。在您的情况下,您需要通过来获取该字段_source请尝试以下查询:

{
    "fields": [
        "id",
        "payload"
    ],
    "_source": "payload_parsed",
    "query": {
        "filtered": {
            "filter": {
                "bool": {
                    "must": [
                        {
                            "match": {
                                "id": "some-id-123"
                            }
                        }
                    ]
                }
            }
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章