我有一个包含数百万条记录的弹性搜索索引。 (记录基于时间戳的记录)
我需要先显示最新的记录(即记录按时间戳的降序排列)
使用时间戳比使用时间戳的函数得分函数更有效(时间戳,速度,内存效率)排序desc?
"script_score" : {
"script" : "doc['timestamp'].value"
}
答案 0 :(得分:2)
在时间戳上使用sort desc在速度方面会更有效。在这两种情况下,时间戳的所有值都将加载到内存中以构建称为字段数据的内存中结构,因此内存占用量将大致相同。但是,如果在字段上进行直接排序,您将避免浏览每条记录的脚本引擎代码。
它也会更精确,因为得分表示为float,当您按字段排序时,时间戳将保持很长。