【es】通过patch_match 将指定路径的字段映射成需要的类型

1.将对象里面的内容全部映射为关键字

对象里面的 middle 字段除外。
name对象中的字段类型为 keyword, middle 字段除外。

curl  -u elastic:elastic  -k -XPUT http://192.168.1.800:9200/dynamic_obj -H 'Content-Type: application/json' -d  '
{
        "mappings":{
            "dynamic_templates":[
                {
                    "full_name":{
                        "path_match":"name.*",
                        "path_unmatch":"*.middle",
						"mapping":{"type":"keyword"}
                    }
                }
            ]
}}'

2.写入数据 

curl  -u elastic:elastic  -k -XPUT http://192.168.1.800:9200/dynamic_obj/_doc/1 -H 'Content-Type: application/json' -d  '
{
"name":{
  "first":"shuangqi",
  "middle":"Ted",
  "last":"betty"
}}'

3.查看结构 

curl  -u elastic:elastic  -k -XGET http://192.168.1.800:9200/dynamic_obj/_mapping 
{
    "dynamic_obj":{
        "mappings":{
            "dynamic_templates":[
                {
                    "full_name":{
                        "path_match":"name.*",
                        "path_unmatch":"*.middle",
                        "mapping":{
                            "type":"keyword"
                        }
                    }
                }
            ],
            "properties":{
                "name":{
                    "properties":{
                        "first":{
                            "type":"keyword"
                        },
                        "last":{
                            "type":"keyword"
                        },
                        "middle":{
                            "type":"text",
                            "fields":{
                                "keyword":{
                                    "type":"keyword",
                                    "ignore_above":256
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值