es版本1.7,一个index里有两个type:
type1: key1... 两百万记录
type2: key1... 七千万记录
type1是type2的父,现在发现单独只查询type1上的记录然后排序,会很慢,即使给的查询条件过滤出来的结果集只有几条数据,sort还是很慢。
所以猜测es的排序是:不管query出来的结果集大小,都需要把字段数据全部load到内存造成查询很慢(实践中sort时field data从0增长到800m)?有谁知道是这样的原理吗?怎样让sort是根据查询结果来排序的?
type1: key1... 两百万记录
type2: key1... 七千万记录
type1是type2的父,现在发现单独只查询type1上的记录然后排序,会很慢,即使给的查询条件过滤出来的结果集只有几条数据,sort还是很慢。
所以猜测es的排序是:不管query出来的结果集大小,都需要把字段数据全部load到内存造成查询很慢(实践中sort时field data从0增长到800m)?有谁知道是这样的原理吗?怎样让sort是根据查询结果来排序的?
1 个回复
win1027
赞同来自: