知识卡片
分布式排名查询:先协商全局统计量,再各自算分再合并
内容
当文档集合分散在多个节点、没有一台机器掌握全局视角时,布尔查询好办——把查询广播给每个节点,各自返回结果取并集即可。排名查询麻烦得多,因为余弦相似度依赖IDF这类全局统计量,每个节点只掌握本地词频统计,局部相似度分值在节点间不可比。解决办法是拆成两轮:第一轮各节点上报本地词频统计,中央协调节点汇总算出全局IDF权重再广播回去;第二轮各节点用全局权重计算本地排名前r的文档,再汇总做一次全局归并排序。
参考来源
- 位置:第4章《查询》4.8节「分布式检索」(源文件:_chapter-text/ch04.txt)
- 结论依据:原文说明IDF是唯一依赖全局文档集合、不利于分布式的变量,处理过程需要中央主机协调各节点先算局部值再汇总,直接支持卡片对两阶段协作机制的论述。
- 原始内容:"(术语IDF权重)依赖于文档集合,是唯一不利于分布式的变量……处理过程如下。首先,扮演接待员(receptionist)角色的中央主机(central host)收到来自用户的请求,并把请求传递到远程系统……每个数据管理员参照自身的字典并确定每个查询在本地的ft值。"