【发布时间】:2013-06-10 18:45:48
【问题描述】:
我真的不明白为什么在core types link 它在属性描述中说(例如数字):
- store - 设置为yes 将实际字段存储在索引中,no 不存储它。默认为 no(注意,JSON 文档本身已存储,并且可以从中检索)
- index - 如果值不应被索引,则设置为 no。在这种情况下,store 应该设置为 yes,因为如果它没有被索引并且没有被存储,没有任何关系
这两个粗体部分似乎是矛盾的。如果"index":"no", "store":"no" 我仍然可以从源中获取价值。例如,如果我有一个包含 URL 的字段,这可能是一个很好的用途。没有?
我做了一个小实验,有两个映射,一个字段设置为"store":"yes",另一个设置为"store":"no"。
在这两种情况下,我仍然可以在查询中指定:
{"query":{"match_all":{}}, "fields":["my_test_field"]}
我得到了相同的答案,返回了字段。
我认为如果将"store" 设置为"no",则意味着我无法检索特定字段,但必须获取整个_source 并在客户端对其进行解析。
那么,将"store" 设置为"yes" 有什么好处?仅当我从 "_source" 字段中明确排除该字段时才相关吗?
【问题讨论】:
标签: elasticsearch