如何将Elasticsearch的映射文件放在哪里?
我对ES文档感到困惑,实际上,它们在这里指出索引必须位于映射目录(和indexname子目录)中:
可以在名为[mapping_name] .json的文件中定义映射,并将其放置在config / mappings /
_default位置下或config / mappings / [index_name]下(对于仅应与特定索引关联的映射)。
但后来这里的“配置”一节中,它指出:
索引模板也可以放置在模板目录下的配置位置(path.conf)中(请注意,请确保将其放置在所有符合条件的主节点上)。例如,可以将一个名为template_1.json的文件放在config
/ templates下,如果它与索引匹配,则会添加该文件。
我把映射放进去,/config/mappings/myindexname/mappinfile.json
就像:
{ "template": "maincontentindex",
"settings": {
"index": {
"analysis": {
"analyzer": {
"htmlStrippingAnalyzer": {
"tokenizer": "standard",
"filter": ["standard", "lowercase"],
"char_filter": "html_strip"
}
}
}
}
},
"mappings": {
"rendition": {
"_timestamp": {
"enabled": true,
"store" : true
},
"properties": {
"key": {
"type": "string",
"store": "yes",
"analyzer": "keyword"
},
"parentPage": {
"type": "string",
"store": "yes",
"analyzer": "keyword"
},
"type": {
"type": "string",
"store": "yes",
"analyzer": "keyword"
},
"language": {
"type": "string",
"store": "yes",
"analyzer": "keyword"
},
"device": {
"type": "string",
"store": "yes",
"analyzer": "keyword"
},
"territory": {
"type": "string",
"store": "yes",
"analyzer": "keyword"
},
"channel": {
"type": "string",
"store": "yes",
"analyzer": "keyword"
},
"template": {
"type": "string",
"store": "yes",
"analyzer": "keyword"
},
"meta": {
"properties": {
"content": {
"type": "string",
"store": "yes"
}
}
}
}
}
}
}
如果我使用REST Api将其放在服务器中,则可以正常工作;如果我调用/ maincontentindex / rendition /
_mapping,我将获得上述结构(即使没有数据)。
但是在目录下,我只得到一个404,如果我插入任何东西,那只是通常的动态映射。
回答:
映射和模板之间有区别。
映射包含您的字段以及您如何在elasticsearch中索引/存储它们。它们引用特定的索引和类型(或使用_default_
特殊类型时,在同一索引中有多个类型)。您可以在创建索引时通过create
index api或通过put映射api提交映射,以修改现有索引的映射。
索引模板是一种将映射和索引设置自动应用于将来将要创建的,名称与指定模式匹配的索引的方法。假设映射是索引模板的一部分。索引模板也可以包含多种类型和索引设置的映射。
如果您有索引模板,则可以将其放在templates
参考资料中提到的下方。如果您有类型的映射,则需要将其放在mappings
目录下。
您粘贴到问题中的json是一个索引模板,它需要放在该templates
文件夹下,而不是该文件夹下mappings
。所描述的使用get mapping
api返回的内容不是您所说的模板本身,而是您在url中指定的索引/类型的当前映射(仅模板的映射部分)。
另外,我建议您使用elasticsearch提供的REST API。在文件系统上使用文件实际上看起来并不像Elasticsearch的处理方式。
以上是 如何将Elasticsearch的映射文件放在哪里? 的全部内容, 来源链接: utcz.com/qa/424407.html