Elasticsearch-映射VS映射?

时间:2018-09-07 17:36:08

标签: elasticsearch mapping

我是ElasticSearch的新手。我正在查看一些索引文件定义,并在单词“ mappings”和“ mapping”中遇到了问题,如下所示。我在elasticsearch的文档站点中进行了全面搜索,发现两个词都提到了一点,但是从没有对区别进行明确的解释。是“映射”仅仅是“映射”的复数,并且它们接受相同的参数?异形映射嵌套在“ 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...

1 个答案:

答案 0 :(得分:0)

第一个mappings出现是您可以定义映射类型的结构。历史上,允许在一个索引中定义几种映射类型,但是由于great mapping refactoring仅允许一种映射类型。这就是mappings为复数形式的原因。它将很快消失。

第二个mapping只是定义dynamic field templates时的关键字。 match*部分仅标识动态字段,而mapping部分定义该字段的映射。这是一项高级功能,所以如果您不立即掌握它,请不要担心。