一、介绍
就像mysql,定义字段的时候,会定义类型,是否索引等信息,mapping就像mysql的scheme。
二、字段类型
参考文章点这里
三、字段额外属性
四、mapping CURD
4.1 create
POST /phone
{
"mappings":{
"hongwzh2":{
"dynamic":"strict",
"properties":{
"brand":{"type":"string"},
"price":{"type":"double"},
"purchase_date":{"type":"date","format":"yyyy-MM-dd HH:mm:ss"},
"use_time":{"type":"date","format":"yyyy-MM-dd HH:mm:ss"}
}
}
}
}
dynamic | description |
---|---|
strict | add a new field out if mapping will error |
true | add a new field then auto judge type and map |
false | ignore new field |
4.2 query
GET /phone/_mapping
GET /phone/hongwzh2/_mapping
4.3 delete
DELETE /phone/hongwzh2/_mapping
4.4 update
you can add mapping field,but cann’t modify exists field mapping
4.4.1 add mapping
POST /phone/hongwzh2/_mapping
{
"hongwzh2":{
"properties":{
"screen":{"type":"string"}
}
}
}
4.4.2 modify mapping
in the client,you should get data by alias.
- add alias
PUT /phone/_alias/phone_custom
- add new index
POST /phone_new
{
"mappings":{
"hongwzh2":{
"dynamic":"strict",
"properties":{
"brand":{"type":"string"},
"price":{"type":"double"},
"purchase_date":{"type":"date","format":"yyyy-MM-dd HH:mm:ss"},
"use_time":{"type":"string"}
}
}
}
}
- modify alias
POST /_aliases
{
"actions": [
{
"remove": {
"index": "phone",
"alias": "phone_custom"
}
},
{
"add": {
"index": "phone_new",
"alias": "phone_custom"
}
}
]
}
- export data from phone to phone_new