Sphinx如何快速排序?

时间:2010-11-07 02:04:59

标签: algorithm search sorting lucene sphinx

假设我搜索“宝贝”。 Sphinx将抓取所有包含“baby”的文档,然后使用我自己的算法对其进行排序。 (扩展模式)。

问题是,如何快速排序?它如何抓取数百万条记录,然后在几毫秒内对它们进行排序?

1 个答案:

答案 0 :(得分:9)

哦,你问的是魔法。 Sphinx(和Lucene以及许多其他搜索引擎)正在使用inverted index

基本上,每个文件都被切成代币;搜索索引包含从标记到名为the postings list的文档的映射。处理查询包括查看查询术语的发布列表和查找匹配文档。为了加快速度,令牌将存储为整数列表。 compressing the index可以使效率更高。