[search] 汇总排序问题

请问 如果搜索结果 汇总排序的时候 一台排序机器不下怎么解决?

比如 找前十的热词, 100太机器做data node, 然后汇总到同一台机器排序,看谁是精准前十, 但是有可能data node数据太多在一台汇总机器内存放不下,无法排序?

我能想到的解决方案

  1. 就是汇总机器做硬盘排序 但是感觉太慢了
  2. 借助类似redis这个样的sorted set这样的数据结构,但是引入了额外的复杂性
  3. 或者做多级汇总, 比如每10台汇总到一台, 然后在把汇总后的10台再汇总到一台 感觉复杂 (但感觉我目前觉得最好的一个)

不知道老师有没有其他更好的解决方案 谢谢

课上我们把 Ranking 作为 out-of-scope 来处理。请问你这里的热词是依据什么来排序?

比如简单来说 热词就是历史上 搜索量最多的词

一般来说搜索结果的排序是根据网页的质量和相关性来决定顺序。而每个关键词的热度是决定 Autocomplete 结果的主要因素。
我猜你这里问的是搜索结果的排序,一般都是多级的机器学习模型来解决。先把所有匹配的 document id 找到,用简单模型计算分数(可以分布式),排序并筛选出更少的 document id,再用更复杂的模型来计算分数,进一步排序筛选出最终的几百个网页返回给用户。