当你对一个字段进行排序时,ElasticSearch 需要进入每个匹配到的文档得到相关的值。
倒排索引在用于搜索时是非常卓越的,但却不是理想的排序结构。
当搜索的时候,我们需要用检索词去遍历所有的文档。
为了提高排序效率,ElasticSearch 会将所有字段的值加载到内存中,这就叫做”数据字段”。
ElasticSearch中的字段数据常被应用到以下场景:
- 对一个字段进行排序
- 某些过滤,比如地理位置过滤
毫无疑问,这会消耗掉很多内存,尤其是大量的字符串数据 — string字段可能包含很多不同的值,比如邮件内容。
值得庆幸的是,内存不足是可以通过横向扩展解决的,我们可以增加更多的节点到集群。