我正在尝试使用动态映射创建索引。映射模板中似乎有一些错误。数据集包含字符串、数值和日期。我必须容纳所有这些。
mapping = {
"settings": {
"number_of_shards": 2,
"number_of_replicas": 1
},
"mappings": {
"_doc": {
"properties": {
"details": {
"dynamic_templates": [
{
"name_template": {
"match": "*",
"mapping": {
"type": "string",
"dynamic": True
}
}
}
]
}
}
这是我用来创建新索引的代码
if es.indices.exists(index="es_index") == False:
index_creation = es.indices.create(index="es_index", ignore=400, body=mapping)
print("index created: ",index_creation)
我收到错误
index created: {'error': {'root_cause':
[{'type': 'mapper_parsing_exception', 'reason': 'Root mapping definition has
unsupported parameters: [details : {dynamic_templates=[{name_template=
{mapping={dynamic=true, type=string}, match=*}}]}]'}], 'type': 'mapper_parsing_exception', 'reason': 'Failed to parse mapping [_doc]:
Root mapping definition has unsupported parameters: [details : {dynamic_templates=[{name_template={mapping={dynamic=true, type=string}, match=*}}]}]', 'caused_by': {'type': 'mapper_parsing_exception', 'reason': 'Root mapping definition has unsupported parameters: [details : {dynamic_templates=[{name_template={mapping={dynamic=true, type=string}, match=*}}]}]'}}, 'status': 400}