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