elasticsearch mapping之store
_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相关推荐
- Elasticsearch教程 elasticsearch Mapping的创建
一.Mapping介绍 在 Elasticsearch 中, Mapping 是什么? mapping 在 Elasticsearch 中的作用就是约束. 1.数据类型声明 它类似于静态语言中 ...
- 如何设计一个高性能Elasticsearch mapping
如何设计一个高性能Elasticsearch mapping 前言 mapping mapping 能做什么 Dynamic mapping dynamic=true dynamic=runtime ...
- elasticsearch mapping
2019独角兽企业重金招聘Python工程师标准>>> es的mapping设置很关键,mapping设置不到位可能导致索引重建.如何更好的设置mapping? 请看下面各个类型介绍 ...
- ElasticSearch - Mapping 配置字段属性:对 long 类型字段聚合需要开启 doc_values:true
概述 当遇到,类似如下报错: Can't load fielddata on [product_id] because fielddata is unsupported on fields of ty ...
- elasticsearch mapping之dynamic
dynamic:true 动态映射 这时默认的mapping参数,当我们往index添加一条数据时,es会自动为我们完善mapping 例如我们创建一个index: PUT my_index {&qu ...
- Elasticsearch Mapping 详解
1. Mapping(映射) Mapping 是定义文档及其包含的字段是如何存储和索引的过程 例如,我们用映射来定义: 哪些字符串字段应该被当做全文字段 哪些字段包含数字.日期或地理位置 是否应该将 ...
- Elasticsearch mapping与analysis
映射(mapping)机制用于进行字段类型确认,将每个字段匹配为一种确定的数据类型(string, number, booleans, date等).分析(analysis)机制用于进行全文文本(Fu ...
- 【Elasticsearch】Elasticsearch mapping 映射对象
文章目录 1.概述 1.1 Mapping各字段的选型流程 2.详解 2.1 root object 2.2 properties 2.3 _source 2.4 _all 2.5 metadata ...
- elasticsearch mapping之fields
ES允许同一个字段有两个不同的类型,例如一个字段可以拥有keyword类型来进行聚合与排序,也可以拥有text来做全文检索. 举例如下: PUT my_index {"mappings&qu ...
最新文章
- 【Interfacenavigation】通知概述(36)
- 设计模式 分类和原则
- 图论--树的直径--DFS+树形DP模板
- CF1550F Jumping Around
- MATLAB集合运算
- 猎豹浏览器网页声音怎么关闭
- Linux查找历史命令
- Android实战——LeakCanary检测内存泄漏
- java编译命令是什么_JAVA命令行编译及运行
- Firefox Private Network使用方法(极详细)
- 浅析浏览器 Web 视频播放器
- Matlab实现图像识别(九)
- 关于TP3.2.3的反序列化学习
- 黎活明8天快速掌握android视频教程--21_监听ContentProvider中数据的变化
- 柳传志:想过得富有光鲜就要知道为啥穷
- yaml 编码格式简述
- guido正式对外发布python版本的年份_Guido van Rossum正式对外发布Python版本的年份是:______。...
- 七夕祭( Poetize系列)
- happens-before规则,是什么?怎么理解?有哪些规则?
- 360优化开机速度后慢了_360一键优化轻松解决开机慢
热门文章
- 一个列用render渲染的时候,如果列宽度不够,内容多出的部分会被隐藏,无法显示。这时需要一个鼠标滑过提示全部内容的tip功能。...
- Linux 安装 luarocks(lua的模块管理工具)
- php性能分析工具XHProf安装配置使用教程(linux精华版)
- 反思快乐:融入 真实 不回忆 聪明应对
- iis只能访问html页面,win2003 IIS6,能访问html页 但是不能访问aspx页解决办法汇总
- Oracle数据库比较日期时间的大小
- java 解析二进制_java实现解析二进制文件(字符串、图片)
- ndows live id怎么登陆,手机如何注册和使用Windows Live ID帐号
- randn函数加噪声_NLP入门指南01:感知机、激活函数、损失函数
- 无线抄表免费透传云服务器,两个WIFI模块USR-WIFI232-B2连接有人云实现远程一对一透传...