1.mapping结构解析

  1. 在PUT命令之后定义需要创建索引的名称my_index。
  2. 通过propertis指定映射的字段或属性。
  3. 指定具体字段title,通过type关键字指定对应的类型为text,意思是title字段是支持全文检索的。
  4. 同样指定name字段也为text类型,支持全文检索。
  5. age字段为integer类型值。
  6. created字段为日期类型,同时制定日期格式。

578500_1629692894.png

2.text与keyword区别

text:会分词,然后进行索引,用于全文搜索。
支持模糊、精确查询
不支持聚合
keyword:不进行分词,直接索引,keyword用于关键词搜索
支持模糊、精确查询
支持聚合
如果不指定类型,ElasticSearch字符串将默认被同时映射成text和keyword类型,会自动创建下面的动态映射(dynamic mappings):

  1. {
  2. "foo": {
  3. "type": "text",
  4. "fields": {
  5. "keyword": {
  6. "type": "keyword",
  7. "ignore_above": 256
  8. }
  9. }
  10. }
  11. }