首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ElasticSearch 7中应用映射

在ElasticSearch 7中应用映射
EN

Stack Overflow用户
提问于 2020-10-02 07:52:40
回答 4查看 971关注 0票数 0

我已经使用ElasticSearch 6很长时间了,并设法为我最常用的字段应用了一个映射。最近,我创建了另一个集群(v7.7),但是不能应用与默认的映射相同的映射。映射中有一些嵌套对象。当我用_doc替换默认值时,我可以应用映射,但是所有传入到ES的请求都将被拒绝,并进入Logstash死信队列。(我使用logstash并将我的应用程序日志发送到ElasticSearch。这是我的映射json:

代码语言:javascript
复制
  "index_patterns": [
    "logstash-*"
  ],
  "settings": {
    "index": {
      "mapping": {
        "total_fields": {
          "limit": "50000"
        }
      },
      "refresh_interval": "5s"
    }
  },
  "mappings": {
    "_default_": {
      "_all": {
        "norms": false
      },
      "properties": {
        "@timestamp": {
          "type": "date"
        },
        "name": {
          "ignore_above": 64,
          "type": "keyword"
        },
        "logger": {
          "ignore_above": 64,
          "type": "keyword"
        },
        "hostname": {
          "ignore_above": 256,
          "type": "keyword"
        },
        "pid": {
          "type": "integer"
        },
        "level": {
          "type": "short"
        },
        "v": {
          "type": "short"
        },
        "env": {
          "ignore_above": 64,
          "type": "keyword"
        },
        "service": {
          "ignore_above": 256,
          "type": "keyword"
        },
        "message": {
          "type": "text"
        },
        "module": {
          "type": "keyword"
        },
        "subModule": {
          "type": "keyword"
        },
        "docker": {
          "properties": {
            "container_id": {
              "ignore_above": 512,
              "type": "keyword"
            },
            "container_name": {
              "ignore_above": 512,
              "type": "keyword"
            },
            "image_id": {
              "ignore_above": 512,
              "type": "keyword"
            },
            "image_name": {
              "ignore_above": 512,
              "type": "keyword"
            },
            "command": {
              "ignore_above": 512,
              "type": "keyword"
            },
            "tag": {
              "ignore_above": 512,
              "type": "keyword"
            },
            "created": {
              "type": "date"
            }
          }
        },
        "data": {
          "type": "text"
        },
        "context": {
          "properties": {
            "trade": {
              "properties": {
                "id": {
                  "ignore_above": 64,
                  "type": "keyword"
                }
              }
            },
            "trader": {
              "properties": {
                "id": {
                  "ignore_above": 64,
                  "type": "keyword"
                },
                "email": {
                  "ignore_above": 1024,
                  "type": "keyword"
                }
              }
            },
            "payment": {
              "properties": {
                "id": {
                  "ignore_above": 64,
                  "type": "keyword"
                }
              }
            },
            "err": {
              "properties": {
                "message": {
                  "type": "text"
                },
                "name": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "stack": {
                  "type": "text"
                },
                "code": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "file": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "line": {
                  "type": "integer"
                },
                "cause": {
                  "properties": {
                    "message": {
                      "type": "text"
                    },
                    "name": {
                      "ignore_above": 256,
                      "type": "keyword"
                    },
                    "stack": {
                      "type": "text"
                    },
                    "code": {
                      "ignore_above": 256,
                      "type": "keyword"
                    },
                    "file": {
                      "ignore_above": 256,
                      "type": "keyword"
                    },
                    "line": {
                      "type": "integer"
                    },
                    "cause": {
                      "properties": {
                        "message": {
                          "type": "text"
                        },
                        "name": {
                          "ignore_above": 256,
                          "type": "keyword"
                        },
                        "stack": {
                          "type": "text"
                        },
                        "code": {
                          "ignore_above": 256,
                          "type": "keyword"
                        },
                        "file": {
                          "ignore_above": 256,
                          "type": "keyword"
                        },
                        "line": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            },
            "req": {
              "properties": {
                "id": {
                  "ignore_above": 64,
                  "type": "keyword"
                },
                "remoteAddress": {
                  "type": "ip"
                },
                "remotePort": {
                  "type": "integer"
                },
                "method": {
                  "ignore_above": 32,
                  "type": "keyword"
                },
                "path": {
                  "type": "text"
                },
                "body": {
                  "type": "text"
                },
                "bodyLength": {
                  "type": "integer"
                },
                "headers": {
                  "type": "text"
                }
              }
            },
            "res": {
              "properties": {
                "statusCode": {
                  "type": "short"
                },
                "body": {
                  "type": "text"
                },
                "bodyLength": {
                  "type": "integer"
                },
                "headers": {
                  "type": "text"
                },
                "latency": {
                  "type": "integer"
                }
              }
            },
            "event": {
              "properties": {
                "eventName": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "context": {
                  "type": "text"
                },
                "uuid": {
                  "ignore_above": 64,
                  "type": "keyword"
                },
                "time": {
                  "type": "long"
                },
                "attempts": {
                  "type": "short"
                }
              }
            },
            "task": {
              "properties": {
                "taskName": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "context": {
                  "type": "text"
                },
                "uuid": {
                  "ignore_above": 64,
                  "type": "keyword"
                },
                "time": {
                  "type": "long"
                },
                "attempts": {
                  "type": "short"
                },
                "origin": {
                  "ignore_above": 128,
                  "type": "keyword"
                }
              }
            }
          }
        },
        "dlq": {
          "properties": {
            "eventFields": {
              "type": "text"
            },
            "reason": {
              "type": "text"
            }
          }
        },
        "tags": {
          "ignore_above": 1024,
          "type": "keyword"
        },
        "type": {
          "ignore_above": 1024,
          "type": "keyword"
        }
      }
    }
  }
}

我想知道如何将此应用于elasticSearch7?

以下是ElasticSearch错误:

代码语言:javascript
复制
[o.e.a.a.i.m.p.TransportPutMappingAction] [0c85334cb2d41154383d0174502e13f2] failed to put mappings on indices [[[__PATH__]]], type [logs]
java.lang.IllegalArgumentException: Rejecting mapping update to [logstash-2020.10.02] as the final mapping would have more than 1 type: [_doc, logs]
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-10-02 10:02:01

我找到答案了!

Logstash将日志发送到ElasticSearch,类型为 logs 。用日志替换默认值解决了问题。但是,要在version7中应用映射,需要使用PUT /_template/template_1?include_type_name=true

票数 1
EN

Stack Overflow用户

发布于 2020-10-02 09:02:18

@YLR给出的答案几乎是正确的,但在他提供的映射中存在一些解析错误。

在6.0中不推荐使用全场

_all可能不再为在6.0+中创建的索引启用,请使用自定义字段和映射copy_to参数

请参考此Elasticsearch文档,以了解更多有关此问题的信息。

在Elasticsearch 7.0.0或更高版本中创建的索引不再接受默认映射。在6.x中创建的索引将继续像以前一样在Elasticsearch 6.x中工作。在7.0版的API中不推荐使用类型,对索引创建、put映射、get映射、put模板、get模板和get字段映射API的更改会中断。

修改后的映射如下:

代码语言:javascript
复制
{
  "index_patterns": [
    "logstash-*"
  ],
  "settings": {
    "index": {
      "mapping": {
        "total_fields": {
          "limit": "50000"
        }
      },
      "refresh_interval": "5s"
    }
  },
  "mappings": {
    "properties": {
      "@timestamp": {
        "type": "date"
      },
      "name": {
        "ignore_above": 64,
        "type": "keyword"
      },
      "logger": {
        "ignore_above": 64,
        "type": "keyword"
      },
      "hostname": {
        "ignore_above": 256,
        "type": "keyword"
      },
      "pid": {
        "type": "integer"
      },
      "level": {
        "type": "short"
      },
      "v": {
        "type": "short"
      },
      "env": {
        "ignore_above": 64,
        "type": "keyword"
      },
      "service": {
        "ignore_above": 256,
        "type": "keyword"
      },
      "message": {
        "type": "text"
      },
      "module": {
        "type": "keyword"
      },
      "subModule": {
        "type": "keyword"
      },
      "docker": {
        "properties": {
          "container_id": {
            "ignore_above": 512,
            "type": "keyword"
          },
          "container_name": {
            "ignore_above": 512,
            "type": "keyword"
          },
          "image_id": {
            "ignore_above": 512,
            "type": "keyword"
          },
          "image_name": {
            "ignore_above": 512,
            "type": "keyword"
          },
          "command": {
            "ignore_above": 512,
            "type": "keyword"
          },
          "tag": {
            "ignore_above": 512,
            "type": "keyword"
          },
          "created": {
            "type": "date"
          }
        }
      },
      "data": {
        "type": "text"
      },
      "context": {
        "properties": {
          "trade": {
            "properties": {
              "id": {
                "ignore_above": 64,
                "type": "keyword"
              }
            }
          },
          "trader": {
            "properties": {
              "id": {
                "ignore_above": 64,
                "type": "keyword"
              },
              "email": {
                "ignore_above": 1024,
                "type": "keyword"
              }
            }
          },
          "payment": {
            "properties": {
              "id": {
                "ignore_above": 64,
                "type": "keyword"
              }
            }
          },
          "err": {
            "properties": {
              "message": {
                "type": "text"
              },
              "name": {
                "ignore_above": 256,
                "type": "keyword"
              },
              "stack": {
                "type": "text"
              },
              "code": {
                "ignore_above": 256,
                "type": "keyword"
              },
              "file": {
                "ignore_above": 256,
                "type": "keyword"
              },
              "line": {
                "type": "integer"
              },
              "cause": {
                "properties": {
                  "message": {
                    "type": "text"
                  },
                  "name": {
                    "ignore_above": 256,
                    "type": "keyword"
                  },
                  "stack": {
                    "type": "text"
                  },
                  "code": {
                    "ignore_above": 256,
                    "type": "keyword"
                  },
                  "file": {
                    "ignore_above": 256,
                    "type": "keyword"
                  },
                  "line": {
                    "type": "integer"
                  },
                  "cause": {
                    "properties": {
                      "message": {
                        "type": "text"
                      },
                      "name": {
                        "ignore_above": 256,
                        "type": "keyword"
                      },
                      "stack": {
                        "type": "text"
                      },
                      "code": {
                        "ignore_above": 256,
                        "type": "keyword"
                      },
                      "file": {
                        "ignore_above": 256,
                        "type": "keyword"
                      },
                      "line": {
                        "type": "integer"
                      }
                    }
                  }
                }
              }
            }
          },
          "req": {
            "properties": {
              "id": {
                "ignore_above": 64,
                "type": "keyword"
              },
              "remoteAddress": {
                "type": "ip"
              },
              "remotePort": {
                "type": "integer"
              },
              "method": {
                "ignore_above": 32,
                "type": "keyword"
              },
              "path": {
                "type": "text"
              },
              "body": {
                "type": "text"
              },
              "bodyLength": {
                "type": "integer"
              },
              "headers": {
                "type": "text"
              }
            }
          },
          "res": {
            "properties": {
              "statusCode": {
                "type": "short"
              },
              "body": {
                "type": "text"
              },
              "bodyLength": {
                "type": "integer"
              },
              "headers": {
                "type": "text"
              },
              "latency": {
                "type": "integer"
              }
            }
          },
          "event": {
            "properties": {
              "eventName": {
                "ignore_above": 256,
                "type": "keyword"
              },
              "context": {
                "type": "text"
              },
              "uuid": {
                "ignore_above": 64,
                "type": "keyword"
              },
              "time": {
                "type": "long"
              },
              "attempts": {
                "type": "short"
              }
            }
          },
          "task": {
            "properties": {
              "taskName": {
                "ignore_above": 256,
                "type": "keyword"
              },
              "context": {
                "type": "text"
              },
              "uuid": {
                "ignore_above": 64,
                "type": "keyword"
              },
              "time": {
                "type": "long"
              },
              "attempts": {
                "type": "short"
              },
              "origin": {
                "ignore_above": 128,
                "type": "keyword"
              }
            }
          }
        }
      },
      "dlq": {
        "properties": {
          "eventFields": {
            "type": "text"
          },
          "reason": {
            "type": "text"
          }
        }
      },
      "tags": {
        "ignore_above": 1024,
        "type": "keyword"
      },
      "type": {
        "ignore_above": 1024,
        "type": "keyword"
      }
    }
  }
}
票数 1
EN

Stack Overflow用户

发布于 2020-10-02 08:51:39

您必须更新一些在v7中没有支持的字段。

此请求是不受支持的remove / update字段的一个示例:

代码语言:javascript
复制
PUT _index_template/template_1 
{
 "index_patterns": [
    "logstash-*"
  ],
    "template": {

  "settings": {
    "index": {
      "mapping": {
        "total_fields": {
          "limit": "50000"
        }
      },
      "refresh_interval": "5s"
    }
  },
  "mappings": {

      "properties": {
        "@timestamp": {
          "type": "date"
        },
        "name": {
          "ignore_above": 64,
          "type": "keyword"
        },
        "logger": {
          "ignore_above": 64,
          "type": "keyword"
        },
        "hostname": {
          "ignore_above": 256,
          "type": "keyword"
        },
        "pid": {
          "type": "integer"
        },
        "level": {
          "type": "short"
        },
        "v": {
          "type": "short"
        },
        "env": {
          "ignore_above": 64,
          "type": "keyword"
        },
        "service": {
          "ignore_above": 256,
          "type": "keyword"
        },
        "message": {
          "type": "text"
        },
        "module": {
          "type": "keyword"
        },
        "subModule": {
          "type": "keyword"
        },
        "docker": {
          "properties": {
            "container_id": {
              "ignore_above": 512,
              "type": "keyword"
            },
            "container_name": {
              "ignore_above": 512,
              "type": "keyword"
            },
            "image_id": {
              "ignore_above": 512,
              "type": "keyword"
            },
            "image_name": {
              "ignore_above": 512,
              "type": "keyword"
            },
            "command": {
              "ignore_above": 512,
              "type": "keyword"
            },
            "tag": {
              "ignore_above": 512,
              "type": "keyword"
            },
            "created": {
              "type": "date"
            }
          }
        },
        "data": {
          "type": "text"
        },
        "context": {
          "properties": {
            "trade": {
              "properties": {
                "id": {
                  "ignore_above": 64,
                  "type": "keyword"
                }
              }
            },
            "trader": {
              "properties": {
                "id": {
                  "ignore_above": 64,
                  "type": "keyword"
                },
                "email": {
                  "ignore_above": 1024,
                  "type": "keyword"
                }
              }
            },
            "payment": {
              "properties": {
                "id": {
                  "ignore_above": 64,
                  "type": "keyword"
                }
              }
            },
            "err": {
              "properties": {
                "message": {
                  "type": "text"
                },
                "name": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "stack": {
                  "type": "text"
                },
                "code": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "file": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "line": {
                  "type": "integer"
                },
                "cause": {
                  "properties": {
                    "message": {
                      "type": "text"
                    },
                    "name": {
                      "ignore_above": 256,
                      "type": "keyword"
                    },
                    "stack": {
                      "type": "text"
                    },
                    "code": {
                      "ignore_above": 256,
                      "type": "keyword"
                    },
                    "file": {
                      "ignore_above": 256,
                      "type": "keyword"
                    },
                    "line": {
                      "type": "integer"
                    },
                    "cause": {
                      "properties": {
                        "message": {
                          "type": "text"
                        },
                        "name": {
                          "ignore_above": 256,
                          "type": "keyword"
                        },
                        "stack": {
                          "type": "text"
                        },
                        "code": {
                          "ignore_above": 256,
                          "type": "keyword"
                        },
                        "file": {
                          "ignore_above": 256,
                          "type": "keyword"
                        },
                        "line": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            },
            "req": {
              "properties": {
                "id": {
                  "ignore_above": 64,
                  "type": "keyword"
                },
                "remoteAddress": {
                  "type": "ip"
                },
                "remotePort": {
                  "type": "integer"
                },
                "method": {
                  "ignore_above": 32,
                  "type": "keyword"
                },
                "path": {
                  "type": "text"
                },
                "body": {
                  "type": "text"
                },
                "bodyLength": {
                  "type": "integer"
                },
                "headers": {
                  "type": "text"
                }
              }
            },
            "res": {
              "properties": {
                "statusCode": {
                  "type": "short"
                },
                "body": {
                  "type": "text"
                },
                "bodyLength": {
                  "type": "integer"
                },
                "headers": {
                  "type": "text"
                },
                "latency": {
                  "type": "integer"
                }
              }
            },
            "event": {
              "properties": {
                "eventName": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "context": {
                  "type": "text"
                },
                "uuid": {
                  "ignore_above": 64,
                  "type": "keyword"
                },
                "time": {
                  "type": "long"
                },
                "attempts": {
                  "type": "short"
                }
              }
            },
            "task": {
              "properties": {
                "taskName": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "context": {
                  "type": "text"
                },
                "uuid": {
                  "ignore_above": 64,
                  "type": "keyword"
                },
                "time": {
                  "type": "long"
                },
                "attempts": {
                  "type": "short"
                },
                "origin": {
                  "ignore_above": 128,
                  "type": "keyword"
                }
              }
            }
          }
        },
        "dlq": {
          "properties": {
            "eventFields": {
              "type": "text"
            },
            "reason": {
              "type": "text"
            }
          }
        },
        "tags": {
          "ignore_above": 1024,
          "type": "keyword"
        },
        "type": {
          "ignore_above": 1024,
          "type": "keyword"
        }
      }
  }
    }
}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64167979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档