映射(Mapping)相当于数据表的表结构。ES中的映射(Mapping)用来定义一个文档,可以定义所包含的字段以及字段的类型、分词器及属性等等。ElasticSearch中不需要事先定义映射(Mapping),文档写入ElasticSearch时,会根据文档字段自动识别类型,这种机制称之为动态映射,反之就是静态映射了。动态映射的自动类型推测功能并不是100%正确的,这就需要静态映射机制。
# 查看
GET /book/_mapping
//返回
{
"book": {
"mappings": {}
}
}
新建映射
PUT books
{
"mappings":{
"it": {
"properties": {
"bookId": {"type": "long"},
"bookName": {"type": "text"},
"publishDate": {"type": "date"}
}
}
}
}
//返回
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "books"
}
//反查mapping
GET books/_mapping
//返回
{
"books" : {
"mappings" : {
"it" : {
"properties" : {
"bookId" : {
"type" : "long"
},
"bookName" : {
"type" : "text"
},
"publishDate" : {
"type" : "date"
}
}
}
}
}
}