这几乎始终是需要的功能,因为:
搜索结果中能得到完整的文档 —— 不需要额外去别的数据源中查询文档
如果缺少
_source
字段,部分更新
请求不会起作用你可以从
_source
中通过get
或search
请求取回部分字段,而不是整个文档。这样更容易排查错误,因为你可以准确的看到每个文档中包含的内容,而不是只能从一堆 ID 中猜测他们的内容。
即便如此,存储 字段还是要占用硬盘空间的。假如上面的理由对你来说不重要,你可以用下面的映射禁用 _source
字段:
{
"query": { "match_all": {}},
这些字段会从 _source
中提取出来,而不是返回整个 _source
字段。