如何加速倒排索引搜索?

4

我正在设计全文搜索引擎的架构。其中一个关键点是在大型数据集中处理查询,同时保证响应时间较短。我能想到的一种方法是将倒排索引分成多个分区。有两种策略:基于词项和基于文档。但我真的很想知道是否还有其他方法可以使在大型数据集中进行倒排搜索更快?

1个回答

10
这个video是一次由Shay Banon进行的演讲,他是ElasticSearch分布式全文搜索引擎的开发者。在视频中,他讨论了基于术语和基于文档两种分区方式的利弊。
基于术语的分区会在进程/节点之间产生太多的网络带宽,而且实现起来更为困难。基于文档的分区则更加简单易行,能够快速得出结果。
此外,Jeffrey Dean在这个演讲中也解释了这两种方法之间的差异,并表示谷歌使用的是基于文档的分区。
这是分发搜索引擎的两种主要方式,我不知道其他的方法。但您可以在信息检索文献中寻找新颖的作品。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接