_source字段存储的是索引的原始内容,那store属性的设置是为何呢?es为什么要把store的默认取值设置为no?设置为yes是否是重复的存储呢?

默认情况下,字段的值是可以被索引到的(即:index:true),但是没有被存储(即:store: false),而这就意味着该字段可以search到,但是原始字段的值确无法被检索。
因为字段的值已经在_source中有一份了,这是默认存储的。如果文档的某一字段设置了 store 为 yes (默认为 no),这时候会在 _source 存储之外再为这个字段独立进行存储,这么做的目的主要是针对内容比较多的字段,放到 _source 返回的话,因为_source 是把所有字段保存为一份文档,命中后读取只需要一次 IO,包含内容特别多的字段会很占带宽影响性能,通常我们也不需要完整的内容返回(可能只关心摘要),这时候就没必要放到 _source 里一起返回了(当然也可以在查询时指定返回字段)。
对内容太长的字段,将 store 设置为 yes ,一般来说还应该在 _source 排除 exclude 掉这个字段,这时候索引的字段,不会保存在 _source 里了,会独立存储一份,查询时 _source 里也没有这个字段了,但是还是可以通过指定返回字段来获取,但是会有额外的 IO 开销,因为 _source 的读取只有一次 IO ,而已经 exclude 并设置 store 的字段,是独立存储的需要一个新的 IO 。
例如,如果您的文档包含a title,a date和非常大的content 字段,您可能只想检索title和date,而不是从更大的_source字段中抽取想要的字段:

PUT my_index
{"mappings": {"properties": {"title": {"type": "text","store": true },"date": {"type": "date","store": true },"content": {"type": "text"}}}
}PUT my_index/_doc/1
{"title":   "Some short title","date":    "2015-01-01","content": "A very long content field..."
}GET my_index/_search
{"query": {"bool": {"filter": {"match": {"title": "Some"}}}},"stored_fields": [ "title", "date" ]
}

elasticsearch mapping之store相关推荐

  1. Elasticsearch教程 elasticsearch Mapping的创建

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

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

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

  3. elasticsearch mapping

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

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

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

  5. elasticsearch mapping之dynamic

    dynamic:true 动态映射 这时默认的mapping参数,当我们往index添加一条数据时,es会自动为我们完善mapping 例如我们创建一个index: PUT my_index {&qu ...

  6. Elasticsearch Mapping 详解

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

  7. Elasticsearch mapping与analysis

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

  8. 【Elasticsearch】Elasticsearch mapping 映射对象

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

  9. elasticsearch mapping之fields

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

最新文章

  1. 【Interfacenavigation】通知概述(36)
  2. 设计模式 分类和原则
  3. 图论--树的直径--DFS+树形DP模板
  4. CF1550F Jumping Around
  5. MATLAB集合运算
  6. 猎豹浏览器网页声音怎么关闭
  7. Linux查找历史命令
  8. Android实战——LeakCanary检测内存泄漏
  9. java编译命令是什么_JAVA命令行编译及运行
  10. Firefox Private Network使用方法(极详细)
  11. 浅析浏览器 Web 视频播放器
  12. Matlab实现图像识别(九)
  13. 关于TP3.2.3的反序列化学习
  14. 黎活明8天快速掌握android视频教程--21_监听ContentProvider中数据的变化
  15. 柳传志:想过得富有光鲜就要知道为啥穷
  16. yaml 编码格式简述
  17. guido正式对外发布python版本的年份_Guido van Rossum正式对外发布Python版本的年份是:______。...
  18. 七夕祭( Poetize系列)
  19. happens-before规则,是什么?怎么理解?有哪些规则?
  20. 360优化开机速度后慢了_360一键优化轻松解决开机慢

热门文章

  1. 一个列用render渲染的时候,如果列宽度不够,内容多出的部分会被隐藏,无法显示。这时需要一个鼠标滑过提示全部内容的tip功能。...
  2. Linux 安装 luarocks(lua的模块管理工具)
  3. php性能分析工具XHProf安装配置使用教程(linux精华版)
  4. 反思快乐:融入 真实 不回忆 聪明应对
  5. iis只能访问html页面,win2003 IIS6,能访问html页 但是不能访问aspx页解决办法汇总
  6. Oracle数据库比较日期时间的大小
  7. java 解析二进制_java实现解析二进制文件(字符串、图片)
  8. ndows live id怎么登陆,手机如何注册和使用Windows Live ID帐号
  9. randn函数加噪声_NLP入门指南01:感知机、激活函数、损失函数
  10. 无线抄表免费透传云服务器,两个WIFI模块USR-WIFI232-B2连接有人云实现远程一对一透传...