dynamic:true 动态映射

这时默认的mapping参数,当我们往index添加一条数据时,es会自动为我们完善mapping
例如我们创建一个index:

PUT my_index
{"mappings": {"type": {"properties": {"name": {"type": "keyword"},"age": {"type": "keyword"}}}}
}

my_index中添加一条数据:

POST my_index/type
{"name": "vincent","age": "20","gender": "man"
}

查看mapping:

当Elasticsearch遇到之前没有遇到的字段,会默认动态创建这个字段的类型为text
查询时可以查询到这条数据:

dynamic:false 静态映射

我们创建一个index:

PUT my_index2
{"mappings": {"type": {"dynamic":"false","properties": {"name": {"type": "keyword"},"age": {"type": "keyword"}}}}
}

设置"dynamic":"false"
我们添加一条数据:

POST my_index2/type
{"name": "vincent","age": "20","gender": "man"
}

然后查看mapping:

可以看到mapping结构并没有随着数据字段的增加而动态修改。
查询数据:

根据新增的字段gender并没有查询到数据,
根据name字段查询:

发现可以查询出结果,说明elasticsearch并没有为新增的gender建立映射关系。所以查询不到。
总结:当elasticsearch发现到有新增字段时,因为dynamic:false的关系,会忽略该字段,但是仍会存储该字段。

dynamic:strict 严格模式

我们创建一个index:

PUT my_index3
{"mappings": {"type": {"dynamic":"false","properties": {"name": {"type": "keyword"},"age": {"type": "keyword"}}}}
}

当我们插入数据时:

POST my_index3/type
{"name": "vincent","age": "20","gender": "man"
}

会报错:

错误提示,严格动态映射异常!说人话就是,当dynamic:strict的时候,elasticsearch如果遇到新字段,会抛出异常。

总结

动态映射(dynamic:true):动态添加新的字段(或缺省)。
静态映射(dynamic:false):忽略新的字段。在原有的映射基础上,当有新的字段时,不会主动的添加新的映射关系,只作为查询结果出现在查询中。
严格模式(dynamic: strict):如果遇到新的字段,就抛出异常。

elasticsearch mapping之dynamic相关推荐

  1. 如何设计一个高性能Elasticsearch mapping

    如何设计一个高性能Elasticsearch mapping 前言 mapping mapping 能做什么 Dynamic mapping dynamic=true dynamic=runtime ...

  2. Elasticsearch教程 elasticsearch Mapping的创建

    一.Mapping介绍 在 Elasticsearch  中, Mapping  是什么? mapping  在 Elasticsearch  中的作用就是约束. 1.数据类型声明 它类似于静态语言中 ...

  3. ElasticSearch - Mapping 配置字段属性:对 long 类型字段聚合需要开启 doc_values:true

    概述 当遇到,类似如下报错: Can't load fielddata on [product_id] because fielddata is unsupported on fields of ty ...

  4. elasticsearch mapping

    2019独角兽企业重金招聘Python工程师标准>>> es的mapping设置很关键,mapping设置不到位可能导致索引重建.如何更好的设置mapping? 请看下面各个类型介绍 ...

  5. Elasticsearch Mapping 详解

    1.  Mapping(映射) Mapping 是定义文档及其包含的字段是如何存储和索引的过程 例如,我们用映射来定义: 哪些字符串字段应该被当做全文字段 哪些字段包含数字.日期或地理位置 是否应该将 ...

  6. 【Elasticsearch】Elasticsearch mapping 映射对象

    文章目录 1.概述 1.1 Mapping各字段的选型流程 2.详解 2.1 root object 2.2 properties 2.3 _source 2.4 _all 2.5 metadata ...

  7. Elasticsearch mapping与analysis

    映射(mapping)机制用于进行字段类型确认,将每个字段匹配为一种确定的数据类型(string, number, booleans, date等).分析(analysis)机制用于进行全文文本(Fu ...

  8. elasticsearch mapping之fields

    ES允许同一个字段有两个不同的类型,例如一个字段可以拥有keyword类型来进行聚合与排序,也可以拥有text来做全文检索. 举例如下: PUT my_index {"mappings&qu ...

  9. elasticsearch mapping之store

    _source字段存储的是索引的原始内容,那store属性的设置是为何呢?es为什么要把store的默认取值设置为no?设置为yes是否是重复的存储呢? 默认情况下,字段的值是可以被索引到的(即:in ...

最新文章

  1. python中文编辑器推荐-八款Python编辑器对比介绍推荐
  2. 在Vista操作系统中通过manifest文件使VC应用程序获得管理员权限
  3. MVC4.0网站发布和部署到IIS7.0上的方法
  4. CodeForces - 985F Isomorphic Strings(字符串哈希)
  5. 本地搭建WordPress (XAMPP环境)
  6. WinHex中文版下载 v16.9 汉化破解版
  7. 使用kubeadm快速部署一套K8S集群
  8. lisp线段两端同时缩短的命令_cad中有没有办法同时对多条线段偏移?
  9. pli测试50题题库_面试人员情商测试50题1
  10. 如何将wireshark抓包的中文恢复
  11. 2020 中秋、国庆快乐!
  12. android textview截断,Android Textview文字在底部被截断
  13. 【ArcGIS错误集锦002-Server02】ArcGISserver发布站点报错Failed to create the site. Could not create directory path
  14. 示波器观察IIC通讯协议-STM32F4读写24C08EEPROM时序图-新人首更
  15. 不小心删除了gitlab远端分支怎么恢复
  16. python验证身份证最后一位数字代表什么_身份证号最后一位是“X”,代表什么意思?...
  17. 对于我们大冒险游戏的评论回复
  18. 墨刀的html压缩包是什么,墨刀如何使用?(教程介绍)
  19. 天龙八部与珍珑(文/《北京青年报》记者 郭婷婷)
  20. 扫雷游戏是一款十分经典的单机小游戏。 问题 H: 扫雷游戏

热门文章

  1. 站长工具|百度搜索框提示功能
  2. ORACLE修改表空间方法
  3. 配置ADO.NET类文件连接优化
  4. python基础数据类型一(元祖)
  5. mysql 小数点后几位不足补0初始化
  6. redis没有加密码导致服务器被当做矿机了
  7. PHP经典文:服务容器
  8. Linux负载均衡粘滞会话:IP_HASH Session(nosql mysql 文件共享系统 ) Cookie客户端加密识别用户
  9. PHP调用JS/CSS方法
  10. mysql备份命令和还原命令_mysql数据备份和还原命令