我正在设计一个全文搜索引擎的架构。其中一点是处理大型数据集中的查询,响应时间很短。我能想到的一件事是将反向索引拆分为分区。有两种策略:基于术语的分区和基于文档的分区。但我真的想知道是否还有其他方法可以在大型数据集中更快地进行反向搜索?
答案 0 :(得分:8)
此video是Shay Banon的演讲,Shay Banon是ElasticSearch分布式全文搜索引擎的开发人员。在视频中,他讨论了基于术语的分区和基于文档的分区的优缺点。
基本上,基于术语的分区在进程/节点之间产生过多的网络带宽。并且很难很好地实现。基于文档的实现和生成结果非常简单。
此外,in this lecture by Jeffrey Dean他还解释了这些差异,并表示Google使用基于文档的分区。
这是分发搜索引擎的两种主要方式。我不知道其他方法。无论如何,您可能希望在信息检索文献中搜索有关该主题的新颖工作。