【发布时间】:2016-04-21 10:17:06
【问题描述】:
在 SQL 中,索引通常是某种平衡树(指向真实表行的有序节点,以便在O(log n) 中进行搜索)。走过这样一棵树其实就是搜索的过程。
现在 Lucene 使用带有词频的倒排索引:它为每个词存储它在哪些文档中出现的频率。这很容易理解。但这并不能解释如何对此类索引进行搜索。
当然,搜索字符串会被分析并以相同的方式拆分为术语,然后“搜索索引”以查找包含它们的文档 - 但是如何? Lucene 索引本身是否也以某种方式有序和树状组织以使O(log n) 成为可能?或者在搜索时间上走 Lucene 索引实际上是线性的,所以O(n)?
【问题讨论】: