首页 > 解决方案 > 路径下的嵌套对象不是嵌套类型

问题描述

我创建了一个索引


    {
        "user": {
            "mappings": {
                "_doc": {
                    "_all": {
                        "enabled": false
                    },
                    "properties": {
                        "name": {
                            "store": true,
                            "type": "keyword"
                        },
                        "child": {
                            "type": "nested",
                            "properties": {
                                "age": {
                                    "store": true,
                                    "type": "integer"
                                },
                                "gender": {
                                    "store": true,
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        }
    }

并添加一个文档

    {
        "name":"jack",
        "child":[
            {
                "age":0,
                "gender":1
            }
        ]
    }

当我执行查询时

{
  "query": {
    "bool": {
      "must": [
        {
          "nested": {
            "path": "child",
            "ignore_unmapped":true,
            "query": {
              "bool": {
                "must": [
                  {
                    "term": {
                      "child.age": 0
                    }
                  }
                ]
              }
            }
          }
        }
      ]
    }
  }
}

它总是返回这个错误:

未能创建查询:路径 [child] 下的 [nested] 嵌套对象不是嵌套类型

当我不添加任何文档时,它可以工作,但是当我添加任何带有 的文档时nesed,它总是返回错误,我该如何解决这个问题?

标签: elasticsearch

解决方案


推荐阅读