栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么在Elasticsearch中需要“存储”:“是”?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么在Elasticsearch中需要“存储”:“是”?

我认为,如果将“ store”设置为“ no”,则意味着我无法检索特定字段,而必须获取整个_source并在客户端进行解析。

当未存储字段(默认)并且

_source
启用该字段(也是默认值)时,这就是elasticsearch为您所做的。

您通常将字段发送给elasticsearch,因为您要在其上搜索或检索它。但是,确实,如果您没有显式存储字段并且没有禁用源,您仍然可以使用来检索字段

_source
。这意味着在某些情况下,具有未索引或未存储的字段实际上可能有意义。

当您存储字段时,这是在底层的lucene中完成的。Lucene是一个倒排索引,它允许快速的全文本搜索并在给定文本查询的情况下返回文档ID。除了倒排索引之外,Lucene还具有某种类型的存储,可以在其中存储字段值,以便在给定文档ID的情况下进行检索。您通常将希望返回的字段存储在lucene中作为搜索结果。Elasticsearch不需要存储要返回的每个字段,因为默认情况下它始终存储您发送给它的每个文档,因此它始终能够返回您发送给它的所有内容作为搜索结果。

仅在少数情况下,将字段显式存储在lucene中可能会很有用:

_source
禁用字段时,或者当我们希望避免对其进行解析时,即使解析是由Elasticsearch自动完成的。请记住,尽管从Lucene检索许多存储的字段可能需要每个字段一个磁盘查找,而
_source
仅从Lucene
检索并解析它以检索所需的字段只是单个磁盘查找,并且在大多数情况下会更快。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/369576.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号