mapping的过程
在 es 中插入数据 ,es 会自动建立索引,同时建立 type 以及对应的 mapping
mapping 中就自动定义了每个 field 的数据类型
不同的数据类型(比如 text 和 data),可能有的是 exact value 和 full text
exact value 分词时将整个值作为一个关键词建立倒排索引
full text 会经历各种各样的处理
分词
normaliztion
时态转换
同义词转换
大小写转换
不同的数据类型在进行搜索的时候也会按照建立倒排索引的规则一样,去进行处理关键词,然后进行搜索
可以用 es 的 dynamic mapping 让其自动建立 mapping,自动设置数据类型
true or false -> boolean
123 -> long
123.45 - > double
2017-01-01 -> date
"hello world" -> string
查看 mapping
GET /index/_mapping/type
也可以提前手动创建 index 和 tyoe 的 mapping,自己对各个 field 进行设置
mapping 的注意点
只能新增一个 field 的 mapping,对于已有field 的 mapping 不能修改