映射:
索引中每个文档都有一个类型(type)。
每个类型拥有自己的映射(mapping)或者模式定义(schema definition)
一个映射定义了文档每个字段的数据类型,以及被Elasticsearch处理方式
映射还用于设置关联到类型上的元数据。
核心简单字段类型
String
Whole number(byte short integer long)
Floating Point(float double)
Boolean
Date
如果没有设置则使用动态映射,按照JSON的基本数据类型
查看映射
curl -XGET "https://1.139.32.155:9200/joke/_mapping/jt_joke"
joke索引
_mapping映射
jt_joke字段
index参数
控制字符串以何种方式被索引not_analyzed索引但不被分析 no不搜索到 analyzed分析并索引
{
"tag" : {
"type" : "string",
"index" : "not_analyzed"
}
}
analyzer 分析器whitespace、simple、english、standard(默认的)
{
"tag" : {
"type" : "string",
"analyzer" : "english"//分析器
}
}
更新映射
更新一个映射来增加一个新字段,不能把已有的字段的类型从analyzed改到not_analyzed
复合核心字段类型
Elasticsearch还支持null值,数组和对象
多值字段
索引一个标签数组来代替单一字符串:{"tag":["search","nosql"]}
无序且类型相同
空字段
这四个字段将被识别为空字段而不被索引:
"empty_srting" : "",
"null_value" : null,
"empty_array" : [],
"array_with_null_value" : [null]
多层对象
支持多层对象
"name" : {
"full" : "john Smith",
"first" : "john",
"last" : "Smith"
}