一、前言
(知识搬运工
走近 ElasticSearch (一)——基本概念与架构设计
走近 ElasticSearch (二)——Document概念、倒排索引原理与分词
走近 ElasticSearch (三)——Mapping设计与 Search API 介绍
二、Mapping
类似数据库中表结构定义,主要作用如下:
- 定义 Index 下的字段名(Field Name)
- 定义字段的类型,比如数值型、字符串型、布尔型等
- 定义倒排索引相关的配置,比如是否索引、记录 position 等
1. 自定义 mapping
查看 Mapping api:GET /test_index/_mapping
自定义 Mapping 的 api 如下所示:
- Mapping 中字段类型禁止直接修改,否则需要重新建立新的所以,然后做 reindex 操作
- 允许新增字段,通过dynamic参数来控制字段的新增。
- true(默认)允许自动新增字段
- false 不允许字段新增字段,但是文档可以正常写入,但无法对字段进行查询操作
- strict 文档不能写入,报错(推荐配置)
copy_to
:将该字段的值复制到目标字段,实现类似 _all 的作用,不会出现在 _source 中,只用来搜索。index
:控制当前字段是否索引,默认为true,即记录索引,false 不记录,即不可搜索。index_option
用于控制倒排索引记录的内容,有如下4种配置- docs 只记录 doc id
- freqs 记录 doc id 和