¶ ElasticSearch 索引映射
环境版本:
ElasticSearch 7.11.1
¶ Mapping 映射
字段属性:
属性 | 描述 | 适用类型 |
---|---|---|
store 值为: yes 或者 no |
设为 yes 就是存储,no 就是不存储, 默认值是 no | all |
index 值为: analyzed, not_ analyzed 或者 no |
analyzed 索引且分析 not_analyzed 索引但是不分析 no 不索引这个字段,这样就搜不到 默认值是 analyzed string |
其他类型只能设为 no 或 not_analyzed |
null_value |
如果字段是空值, 通过它可以设置一个默认值,比如 “ null_value ” : “NA” |
all |
boost |
设置字段的权值, 默认值是1.0 | all |
index_analyzer |
设置一个索引时用的分析器 | all |
search_analyzer |
设置一个搜索时用的分析器 | all |
analyzer |
可以设置索引和搜索时用的分析器, 默认下 elasticsearch 使用的是 standard 分析器 除此之外,你还可以使用 whitespace 、 simple 或 english 这三种内置的分析器 |
all |
include_in_all |
默认下 elasticsearch 会为每一个文档定义一个特殊的域 _all , 它的作用就是每一个字段都将被搜索到, 如果你不想让某个字段被搜索到, 那么就在这字段里定义一个 include_in_all=false; 默认值是 true |
all |
index_name |
定义字段的名称; 默认值是字段本身的名字 | all |
norms |
norms 的作用是根据各种规范化因素去计算权值,这样方便查询; 在 analyzed 定义字段里,值是 true, not_analyzed 是 false |
all |
¶ 静态映射
1 | # 建立索引并指定映射 |
1 | # 查看当前索引映射 |
¶ 动态映射
文档中碰到一个以前没见过的字段时,动态映射可以自动决定该字段的类型,并对该字段添加映射
如何配置动态映射: dynamic
true 默认,动态添加字段,false 忽略新字段,strict
碰到陌生字段,抛出异常
1 | PUT {{url}}/library2 |
1 | GET {{url}}/library2/_mapping |
¶ 其他用法
1 | # 查看所有索引映射 |
1 | # 查看指定索引映射 |