思维导图
前言
在第5章,我们说完 ES 常用字段类型。但是,并未跟大家解释,为什么不设置 Mapping,写入的字符串,默认就可以全文搜索。例如
PUT /test4/_doc/1
{
"name": "hello world"
}
GET /test4/_search
{
"query": {
"match_bool_prefix": {
"name": {
"query": "search wor",
"operator": "or"
}
}
}
}
这一切都跟 ES 的 dynamic mapping
功能有关。下面我将介绍这一功能。
Dynamic Mapping
可选值介绍
dynamic mapping 默认是开启的。 ES 有以下 4 个可选值
- • true: 往文档写入新字段时,会自动创建字段类型(默认值)
- • runtime: 往文档写入新字段时,会自动创建字段类型, 与 true 的区别为,2者字段映射不一样
- • false: 忽略该字段,无法检索该字段,但是文