摘自:https://es.xiaoleilu.com/070_Index_Mgmt/31_Metadata_source.html

The _source field stores the JSON you send to Elasticsearch and you can choose to only return certain fields if needed, which is perfect for your use case. I have never heard that the stored fields will be faster for searches. The _source field could be bigger on disk space, but if you have to store every field there is no need to use stored fields over the _source field. If you do disable the source field it will mean:

  • You won’t be able to do partial updates
  • You won’t be able to re-index your data from the JSON in your Elasticsearch cluster, you’ll have to re-index from the data source (which is usually a lot slower).

元数据:_source 字段

默认情况下,Elasticsearch 用 JSON 字符串来表示文档主体保存在 _source 字段中。像其他保存的字段一样,_source 字段也会在写入硬盘前压缩。

这几乎始终是需要的功能,因为:

  • 搜索结果中能得到完整的文档 —— 不需要额外去别的数据源中查询文档

  • 如果缺少 _source 字段,部分 更新 请求不会起作用

  • 当你的映射有变化,而且你需要重新索引数据时,你可以直接在 Elasticsearch 中操作而不需要重新从别的数据源中取回数据。

  • 你可以从 _source 中通过 getsearch 请求取回部分字段,而不是整个文档。

  • 这样更容易排查错误,因为你可以准确的看到每个文档中包含的内容,而不是只能从一堆 ID 中猜测他们的内容。

即便如此,存储 _source 字段还是要占用硬盘空间的。假如上面的理由对你来说不重要,你可以用下面的映射禁用 _source 字段:

PUT /my_index
{"mappings": {"my_type": {"_source": {"enabled":  false}}}
}

在搜索请求中你可以通过限定 _source 字段来请求指定字段:

GET /_search
{"query":   { "match_all": {}},"_source": [ "title", "created" ]
}

这些字段会从 _source 中提取出来,而不是返回整个 _source 字段。

储存字段

除了索引字段的值,你也可以选择 储存 字段的原始值以备日后取回。使用 Lucene 做后端的用户用储存字段来选择搜索结果的返回值,事实上,_source 字段就是一个储存字段。

在 Elasticsearch 中,单独设置储存字段不是一个好做法。完整的文档已经被保存在 _source 字段中。通常最好的办法会是使用 _source 参数来过滤你需要的字段。

ES _source字段介绍——json文档,去掉的话无法更新部分文档,最重要的是无法reindex...相关推荐

  1. ns-3-model-library wifi 浅析_ns-3wifi部分解析_ns-3网络模拟器wifi部分文档分析_Part2

    ns(来源于"network simulator")是一系列离散事件网络模拟器,包括ns-1.ns-2和ns-3.他们主要应用于研究和教学.ns-3是自由软件,以GNU GPLv2 ...

  2. QT(5.14.2) 部分文档中文译文

    由于QT之后的几个文档并不像之前的,会有明确·解释,大部分信息都需要从详细描述中获得,因此本文对其中部分详细描述进行翻译,后续也会不断更新: QPushButton: 按钮或命令按钮可能是任何图形用户 ...

  3. kkFileView集成LibreOffice,解决部分文档预览500

    背景 Apache OpenOffice 已经不再支持更新, 最新版本4.1+ kkfileview 官方docker镜像集成的office就是OpenOffice 但对于支持文档预览,特别是doc, ...

  4. 基于itextpdf java pdf添加水印后,部分文档无法显示水印的问题

    maven项目开发遇到的问题. 这个问题有点坑,测试时doc(x).xls(x)添加水印后正常显示,而ppt(x)打开后水印看不到,但是可以被选中.不了解pdf文档,搜了半天,最后发现pdf文档是分层 ...

  5. ns-3-model-library wifi 浅析_ns-3wifi部分解析_ns-3网络模拟器wifi部分文档分析_Part1

    ​ns(来源于"network simulator")是一系列离散事件网络模拟器,包括ns-1.ns-2和ns-3.他们主要应用于研究和教学.ns-3是自由软件,以GNU GPLv ...

  6. Anki Cozmo(Vector)人工智能机器人玩具部分文档

    Cozmo人工智能机器人SDK使用笔记(X)-总结- |人工智能基础(中小学版)实践平台| https://blog.csdn.net/ZhangRelay/article/details/86675 ...

  7. 一文教会你Elasticsearch的更新操作(Updata与Updata by Query)

    目录 前言 Update API 使用部分文档进行更新 Updata by Query API 前言 Elasticsearch操作中,最常用的就是搜索和更新操作了.之前介绍了Elasticsearc ...

  8. 【ES】ES搜索结果中各个字段介绍,hits,took,timeout

    ES搜索结果中各个字段介绍 空搜索 搜索API的最基础的形式是没有指定任何查询的空搜索,它简单地返回集群中所有索引下的所有文档: GET /_search 返回的结果(为了界面简洁编辑过的)像这样: ...

  9. ES搜索结果中各个字段介绍,hits,took,timeout

    ES搜索结果中各个字段介绍 空搜索 搜索API的最基础的形式是没有指定任何查询的空搜索,它简单地返回集群中所有索引下的所有文档: GET /_search 返回的结果(为了界面简洁编辑过的)像这样: ...

最新文章

  1. 如何激励用户为你的app评分?
  2. 都说90后不好管?聊聊跳槽这件事儿
  3. LeetCode 15. 三数之和(3Sum)
  4. 听说你决定当全职自由漏洞猎人了?过来人想跟你聊聊
  5. python获取当前路径
  6. mysql iostat_iostat命令详解_MySQL
  7. uploadify上传
  8. Linux 创建oracle数据库
  9. MPLS 次末跳弹出配置_中东版2019款三菱帕杰罗V97配置详情介绍
  10. (最新整理)国内网页设计网站网址大全(转)
  11. LDF转Excel;LDF转位定义;Excel转LDF;Excel转位定义;MatrixCreat(一)之LIN矩阵详解
  12. 图象恢复——(逆滤波,维纳滤波)
  13. 很不错的免费电影网站中国影视库mdbchina.com
  14. Git版本回退和撤销修改
  15. RISC-V学习基础(五)
  16. Between Worlds 3 太阳与地球
  17. python辗转相除_python(四):辗转相除
  18. asp.net 文件操作
  19. 【已解决】No module named “win32com“ win32com 无法导入
  20. DNS域名 网址后缀的含义

热门文章

  1. 加速!上海要做人工智能产业“领头雁”
  2. 人工智能再升温:零售行业如何抢占AI先机
  3. 美权威报告:量子计算十年内无法落地
  4. 自然语言处理NLP基本知识小结
  5. SAP MM 如何知道移动类型的字段选择和会计科目的字段选择是否不一致?
  6. 干货丨8种用Python实现线性回归的方法
  7. Tensorflow— 使用inception-v3做各种图像的识别
  8. 汇总pandas中dataframe的删除操作
  9. 威胁生存!科学家警告灾难性“气候临界点”已逼近
  10. 元宇宙深度研究报告:元宇宙是互联网的终极形态?