Mapping 作用如下:
a.定义索引中字段名称
b.定义字段类型
c.倒排索引相关设置
a.在索引不存在时,根据内容自动创建索引
b.自动根据字段内容推算字段类型


PUT /dy_true/_doc/1
{
"name":"xieruixiang",
"age":28
}
# 第一次查看mapping
GET /dy_true/_mapping
# Dynamic:true
PUT /dy_true/_mapping
{
"dynamic":true
}
PUT /dy_true/_doc/2
{
"name":"xieruixiang",
"age":28,
"date":"2022-02-02"
}
# 对比第一次查看mapping mapping 会被更新
GET /dy_true/_mapping
# 可以被索引
POST /dy_true/_search
{
"query":{
"match":{
"date":"2022-02-02"
}
}
}
PUT /dy_false/_doc/1
{
"name":"xieruixiang",
"age":28
}
# 第一次查看mapping
GET /dy_false/_mapping
# 设置 Dynamic false
PUT /dy_false/_mapping
{
"dynamic":false
}
PUT /dy_false/_doc/2
{
"name":"xieruixiang",
"age":28,
"date":"2022-02-02"
}
# 对比第一次查看mapping,发现mapping并未更新
GET /dy_false/_mapping
# 无法被检索
POST /dy_false/_search
{
"query":{
"match":{
"date":"2022-02-02"
}
}
}
PUT /dy_strict/_doc/1
{
"name":"xieruixiang",
"age":28
}
# 第一次查看mapping
GET /dy_strict/_mapping
# 设置 strict
PUT /dy_strict/_mapping
{
"dynamic":"strict"
}
# 无法插入直接报错 status:400
PUT /dy_strict/_doc/2
{
"name":"xieruixiang",
"age":28,
"date":"2022-02-02"
}
# 对比第一次查看mapping 无更改
GET /dy_strict/_mapping
# 无法检索
POST /dy_false/_search
{
"query":{
"match":{
"date":"2022-02-02"
}
}
}