排序时,Elasticsearch 5会做什么?

时间:2019-02-11 08:08:16

标签: elasticsearch

我在Elasticsearch文档中阅读了以下文字。

https://www.elastic.co/guide/en/elasticsearch/reference/5.4/search-request-sort.html#_memory_considerations

  

排序时,将相关的排序字段值加载到内存中。这意味着每个分片应该有足够的内存来容纳它们。

这与我对排序的理解不同。我认为某些数据类型(例如关键字)应该已经排序,因为Elasticsearch会在它们上面创建索引。这些已经排序的字段不需要加载到内存中即可再次排序。

所以我明白吗?

1 个答案:

答案 0 :(得分:0)

关系数据库中的索引表示B *树,并且确实已排序。

Elasticsearch中的索引是您存储数据的地方;以前我们将它与关系世界中的表进行了比较,但是由于种种原因,这并不是真的。因此,我们不要将其用作直接比较。除了上面提到的索引时间排序Val以外,索引不存储为基于特定字段的排序数据结构。但是,某些字段可以有效地用于排序(例如数字数据类型或未分析的文本)。这就是从上面考虑内存的地方。