ES 操作索引库——mapping属性

发布时间 2023-12-10 17:33:00作者: 嘎嘎鸭2

ES中,索引库就相当于MySql的表;索引库里面有很多的文档,相当于MySql表里面一行一行的数据。

我们知道,MySql数据库要先创建表 才能去添加数据;ES也一样,要先有了索引库,才能往索引库里边添加文档

 

要想创建一个索引库,就像建表一样:建表语句里是要指定字段的一些约束的,例如id、store字段是什么类型的等等,

create table user (
  id char(20) primary key,
  store char(12) not null
)

因此索引库在创建时也需要指定mapping映射。mapping映射就是对文档的约束。

 

type:字段数据类型

 name就是object类型的,对象可以任意嵌套。firstName和lastName属于name这个字段的子属性(或子字段),firstName和lastName也是可以参与搜索的

ES中是没有数组这种类型的,但是ES允许某一个字段有多个值,因此score是double或float类型的。

 

index:是否创建倒排索引

若值给了true,将来就给这个字段创建倒排索引,就可以参与搜索了;若给了false,就不会给这个字段创建倒排索引,将来就没有办法搜索这个字段了

 

analyzer:使用哪种分词器。结合type的类型为text时使用

 

properties:一个字段的子字段。可以用properties指定name的子字段——firstName和lastName