0

我有以下格式的 JSON 文档,

文档1

"static_field1": {
    "dynamic_field1": {
        "static_field11": {
            "static_field111": "value1",
            "static_field112": "value2",
            "static_field113": "value3",
            "static_field114": "value4",
            "static_field115": {
                "dynamic_field111": "value5"
            },
            "static_field116": "value6"
        },
        "static_field12": {
            "dynamic_field111": [
                "value7"
            ]
        },
        "static_field13": {
            "dynamic_field1111": {}
        }
    }
}

文档2

"static_field2": {
    "dynamic_field2": {
        "static_field21": {
            "static_field111": "value11",
            "static_field112": "value21",
            "static_field113": "value31",
            "static_field114": "value41",
            "static_field115": {
                "dynamic_field211": "value51"
            },
            "static_field116": "value61"
        },
        "static_field12": {
            "dynamic_field211": [
                "value71"
            ]
        },
        "static_field13": {
            "dynamic_field2111": {}
        }
    }
}

我已使用db.testdata.add(<json_doc>). 在我的 JSON 文档中,归档dynamic_field1dynamic_field2是动态字段,对于我将插入的每个文档都是动态的。添加这些文档后,我想使用过滤器获取文档static_field1.*.static_field11.static_field114="value4"。就我*在该领域使用通配符的理解而言,它不会像select col* from table. 那么有什么办法可以克服这个问题,在现场使用通配符查找文档呢?或者对于这种动态 JSON 文档,还有其他更好的方法来解决这种情况吗?我尝试Elasticsearch了它的工作原理,但是当我将这种通配符查询与多个通配符字段一起使用时它会崩溃。

4

0 回答 0