ES学习--自定义Mapping的设置和常见参数介绍

 时间:2026-02-14 08:27:56

1、为索引自定义Mapping

语法结构为:

PUT 索引名称

{

    "mapping" : {

        properites : {

               "字段1名称" : {

                      "type" : "指定类型",

                      其他参数

               }

               其他字段定义...           

        }

    }

}

最佳实践:我们可以完全参考手册编写 Mapping ,但不建议这样做,容易出错,调试也麻烦,可以通过创建一个测试索引并插入测试文档,然后查看ElasticSearch为这个索引自动创建的Mapping,基于这个Mapping进行修改来构建我们自己的 Mapping。

ES学习--自定义Mapping的设置和常见参数介绍

2、自定义Mapping常用参数--index

自定义的Mapping和自动生成的Mapping一样,默认会为所有字段构建倒排索引,即所有字段均可以作为搜索条件进行搜索,但有时我们希望有些字段不能够被搜索,比如手机号,通过将索引中字段定义部分的 index 参数设置为 false (默认为true),即可达到这种效果。

将部分字段设置为不可搜索,一是可以阻止一些恶意的搜索,二是可以节省一些存储空间(倒排索引占据的空间)。

ES学习--自定义Mapping的设置和常见参数介绍

ES学习--自定义Mapping的设置和常见参数介绍

3、自定义Mapping常用参数--null_value

对于文档中值为 null 的字段(注意不设置该字段的值不代表其为null),无法直接指定null来搜索,可以通过在 mapping 中为该字段指定 null_value 属性的值(null的替代值),在搜索该字段为null的文档时,使用替代值即可。

注意,文本类型或者数值类型的字段无法使用 null_value 属性,keyword类型(不分词)和date类型字段可以使用该属性。

ES学习--自定义Mapping的设置和常见参数介绍

ES学习--自定义Mapping的设置和常见参数介绍

4、自定义Mapping常用参数--copy_to

通过在字段中使用这个属性,可以将多个字段的值拷贝到另一个字段中(该字段最终也会被进行分词处理)。

ES学习--自定义Mapping的设置和常见参数介绍

ES学习--自定义Mapping的设置和常见参数介绍

5、索引字段的数组表示

在 ElasticSearch 中,对于字段数据类型,是不存在数组这个概念的,也就是说对一个给定一个类型的字段(比如text,integer等),其可以保存单个该类型的值也可以保存该类型的一个值数组

ES学习--自定义Mapping的设置和常见参数介绍

  • Windows10如何更改系统字体大小
  • javafx如何隐藏控件Line
  • 批量修改文件的编码格式
  • 图示EXCEL表格vba系列42之ActiveCell.Column
  • vba设置鼠标指针形状
  • 热门搜索
    炖羊排怎么做好吃 西安建筑科技大学怎么样 怎么做代理商 网页打不开怎么办 板书设计怎么写 发质硬怎么变软 夏威夷果怎么开 微信怎么@全体成员 淘宝怎么评论 肚子痛拉肚子怎么办