1.mapping结构解析
- 在PUT命令之后定义需要创建索引的名称my_index。
- 通过propertis指定映射的字段或属性。
- 指定具体字段title,通过type关键字指定对应的类型为text,意思是title字段是支持全文检索的。
- 同样指定name字段也为text类型,支持全文检索。
- age字段为integer类型值。
- created字段为日期类型,同时制定日期格式。
2.text与keyword区别
text:会分词,然后进行索引,用于全文搜索。
支持模糊、精确查询
不支持聚合
keyword:不进行分词,直接索引,keyword用于关键词搜索
支持模糊、精确查询
支持聚合
如果不指定类型,ElasticSearch字符串将默认被同时映射成text和keyword类型,会自动创建下面的动态映射(dynamic mappings):
{
"foo": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}