【问题标题】:Elasticsearch - dynamic field template mappingElasticsearch - 动态字段模板映射
【发布时间】:2017-04-27 00:29:27
【问题描述】:

例如,我想为书籍和文件制作映射。这些书籍和文件具有共同的标题字段,但之后它们是不同的字段。所以,我制作了动态模板(制作这个映射的主要原因是让一些字符串字段设置为关键字,而不是文本)。

   PUT my_index
    {
        "mappings" : {
            "my_type" : {
                "properties" : {
                    "title" : {
                        "type" : "keyword"
                    },
                    "props" : {
                        "dynamic" : true,
                        "dynamic_templates": [
                        {
                          "strings": {
                            "match_mapping_type": "string",
                            "mapping": {
                              "type": "keyword"
                            }
                          }
                        }
                      ]
                    }
                }
            }
        }
    }

我是这样做的,但随之而来的是错误。

“原因”:“无法解析映射 [my_type]:没有为 字段 [props]",

你知道吗?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    动态模板是类型的根,参见the link

    你应该有这样的东西

    {
      "mappings": {
        "my_type": {
          "properties": {
            "title": {
              "type": "keyword"
            }
          },
          "dynamic_templates": [
            {
              "strings": {
                "path_match":   "props.*",
                "match_mapping_type": "string",
                "mapping": {
                  "type": "keyword"
                }
              }
            }
          ]
        }
      }
    }
    

    【讨论】:

    • 它对“道具”内的字段有影响吗?
    • @J.Done 你需要使用 "path_match": "props.*",
    • 谢谢,你救了我:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多