Elasticsearch 入门到精通-Elasticsearch Dynamic templates(动态模板原理)

本文介绍Elasticsearch中的动态模板与自定义动态映射功能,解释如何通过match_mapping_type、match及path_match等参数控制字段映射,并提供实例说明。

 一、Dynamic templates

动态模板允许你定义可以用于动态添加的字段的自定义映射:

  • 由Elasticsearch中的match_mapping_type检测到数据类型。
  • 字段的名称可以是match(匹配)和unmatch(不匹配)或match_pattern(模式匹配)。
  • 全点路径的字段可以是path_match(路径匹配)和path_unmatch(不匹配路径)。

原始字段名称 {name} 和检测导的数据类型 {dynamic_type} 模板变量可以在映射规范中用作占位符。

Tips

仅当字段包含具体值(不为空或空数组)时才添加动态字段映射。这意味着如果在dynamic_template中使用null_value选项,只能在该字段具有的具体值已被索引第一个文档之后才会应用该值。

动态模板是指定为命名对象的一个数组:

"dynamic_templates": [
    { 
        "my_template_name": {                 #1
         ... match conditions ...             #2 
        "mapping": { ... }                    #3
        } 
    }, 
... 
]

1、模板名称可以是任意字符串。

2、匹配条件可以包括以下任何一种:

        match_mapping_type(匹配映射类型),

        match(匹配),

        match_pattern(模式匹配),

        unmatch(不匹配),

        path_match(路径匹配),

        path_unmatch(取消路径匹配)。

3、匹配字段应该使用的映射。 

        模板按顺序进行处理-第一个匹配模板达到要求。可以使用PUT mapping API将新的模板附加到列表的尾部。如果新的模板与现有的模板同名,它将会替换旧的版本。

match_mapping_type(匹配映射类型)

match_mapping_type通过动态字段映射检测数据类型的匹配,换句话说,就是E

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值