Elasticsearch嵌套映射

时间:2018-02-16 07:33:20

标签: elasticsearch

我尝试以下列方式嵌套映射。

PUT /xyz
{
  "mappings": {
    "logs": {
      "properties": {
        "startTime": {"type": "date",
                      "format": "HH:mm:ss" 
                     },
        "stopTime":  {"type": "date",
                      "format": "HH:mm:ss"
                     },
        "acceptedRequests": {"type": "integer"},
        "clientErrors": {"type": "integer"},
        "serverErrors": {"type": "integer"}
                   },
        "predicted":{"type":"nested",
          "properties":{
          "predict1": {"type":"nested",
            "properties":{
            "acceptedRequests":{"type":"integer"},
            "clientErrors": {"type": "integer"},
            "serverErrors": {"type": "integer"}
                        }
                      },
          "predict2": {"type":"nested",
            "properties":{
            "acceptedRequests":{"type":"integer"},
            "clientErrors": {"type": "integer"},
            "serverErrors": {"type": "integer"}                              }
                       },
          "predict3": {"type":"nested",
            "properties":{
            "acceptedRequests":{"type":"integer"},
            "clientErrors": {"type": "integer"},
            "serverErrors": {"type": "integer"}
                         }
                       }
                      }
                     }   
              }
}
}

我收到了一个错误说明 " root_cause":[       {         "输入":" mapper_parsing_exception",         "原因":"根映射定义具有不受支持的参数:[type:nested]"

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您收到错误,因为属性标记在“预测”属性之前关闭。使用以下映射来更正错误

{
   "mappings":{
      "logs":{
         "properties":{
            "startTime":{
               "type":"date",
               "format":"HH:mm:ss"
            },
            "stopTime":{
               "type":"date",
               "format":"HH:mm:ss"
            },
            "acceptedRequests":{
               "type":"integer"
            },
            "clientErrors":{
               "type":"integer"
            },
            "serverErrors":{
               "type":"integer"
            }
         ,
         "predicted":{
            "type":"nested",
            "properties":{
               "predict1":{
                  "type":"nested",
                  "properties":{
                     "acceptedRequests":{
                        "type":"integer"
                     },
                     "clientErrors":{
                        "type":"integer"
                     },
                     "serverErrors":{
                        "type":"integer"
                     }
                  }
               },
               "predict2":{
                  "type":"nested",
                  "properties":{
                     "acceptedRequests":{
                        "type":"integer"
                     },
                     "clientErrors":{
                        "type":"integer"
                     },
                     "serverErrors":{
                        "type":"integer"
                     }
                  }
               },
               "predict3":{
                  "type":"nested",
                  "properties":{
                     "acceptedRequests":{
                        "type":"integer"
                     },
                     "clientErrors":{
                        "type":"integer"
                     },
                     "serverErrors":{
                        "type":"integer"
                     }
                  }
               }
            }
         }
         }
      }
   }
}