首页 > 解决方案 > Elasticsearch 不会索引嵌套字段

问题描述

我用这个结构创建了一个显式映射:

[
    'index' => 'order',
    'body' => [
        "mappings" => [
            "properties" => [
                "order" => [
                    "id" => [
                        "type" => "keyword"
                    ],
                    "basket" => [
                        "type" => "nested",
                        "dynamic" => "strict",
                        "properties" => [
                            "status" => [
                                "type" => "keyword"
                            ],
                        ],
                    ],

                    "created" => [
                        "type" => "date",
                        "format" => "epoch_second"
                    ],
                ]
            ]
        ]
    ]
]

索引一切正常,但 Kibana 说嵌套字段没有被索引(无法搜索未索引的字段): Kibana 结果

索引的结果看起来正常:

在此处输入图像描述

标签: elasticsearchkibana

解决方案


嵌套字段似乎尚不支持此功能。

提到的一种解决方法是使用“ include_in_parent ”。

您可以使用的一个技巧是 Elasticsearch 映射中的“include_in_parent”设置,它在索引时将架构展平。

这会将字段展平后添加到父文档。


推荐阅读