Skip to content
  • 请求方式依然是PUT
  • PUT /索引库名/_mapping/类型名称

类型名称:就是前面讲的type概念,类似于数据库中的不同表字段名:任意填写,可以指定许多属性,例如:

type:类型,可以是text,long,short,date,integer,object等,其中text类型为可分词的类型,keyword类型不能分词。

index:是否索引,默认为true

store:是否存储,默认为false

analyzer:分词器,这里的ik_max_word即使用ik分词器

  • 查询映射
  • GET /索引库名/_mapping/索引名(不加为查询所有索引)
  • 如:
  • GET /heima4/_mapping

数据类型: string: text and keyword,区别在于text可分词,而keyword不可分词 Numeric: byte,short,integer,long,float,double,half_float,scaled_float Date: date Boolean: boolean Binary: binary Range: integer_range,float_range,long_range,double_range,date_range没有byte和short的range。

复杂类型: 支持数组,对象和各种数据的嵌套类型 如果存的是对象,比如:{girl:{name:"rose",age:21}} 会处理成两个字段:girl.name和girl.age

index index影响字段的索引情况

true:字段会被索引,则可以用来进行搜索,默认值就是true

false:字段不会被索引,不能用来搜索

index的默认值就是true,也就是说你不进行任何配置,所有字段都会被索引。 但是有些字段是我们不希望被索引的,比如商品的图片信息,就需要手动设置index为false。

store 是否将数据进行额外存储 在学习solar时,我们知道如果一个字段的store设置为false,那么在文档列表中就不会有这个字段的值,用户的搜索结果中不会显示出来。 但是在ES中,既然设置为false,也可以搜索到结果。 原因是ES在创建文档索引时,会将文档中的原始数据备份,保存到一个叫做_source的属性中,而且我们可以通过过滤_souce来选择哪些要显示,哪些不显示。 而如果设置store为true,就会在_source以外额外存储一份数据,多余。因此一般我们都会将store设置为false,事实上,store的默认值就是false。

boast激励因子

本站总访问 — 次