我是ElasticSearch的新手。我正在查看一些索引文件定义,并遇到了单词"mappings“和"mapping",如下所示。我在elasticsearch的文档站点上到处搜索,发现这两个词都提到了一点,但从来没有明确解释过其中的区别。"mappings“仅仅是"mapping”的复数吗?它们接受相同的参数吗?奇数映射是否不同,因为它嵌套在"dynamic_templates“作用域中?似乎是这样的,但我在文档中找不到任何东西来证实这一点。谢谢
{ <--- top level
...some JSON...
"mappings": { //<--- plural
"_doc": {
"dynamic_templates": [
{
"space": {
"match_mapping_type": "string",
"match": "space",
"mapping": { <--- singular!
"type": "keyword",
"ignore_above": 64,
"fields": {
"analyzed": {
"type": "text",
"analyzer": "english"
}
}
...more JSON...发布于 2018-09-08 01:54:44
第一个mappings实例是您可以在其中定义映射类型的结构。过去,允许在单个索引中定义多个映射类型,但由于great mapping refactoring只允许一种映射类型。这就是为什么mappings是复数形式。它很快就会消失。
在定义dynamic field templates时,第二个mapping只是一个关键字。match*部件简单地标识动态字段,而mapping部件定义该字段的映射。这是一种高级功能,所以如果您不能立即掌握它,请不要担心。
https://stackoverflow.com/questions/52227242
复制相似问题