在lucene 中使用 tis 保存了所有term的信息,为了加速检索,还保存了tii文件,他是tis文件的索引,下面图简单的表示了他们之间的关系
上图的左边表示tis中保存的所有的term ,右边tii是保存需要索引的term以及在tis中的位置,这样通过检索tii文件,定位到我们需要查找的term的大概位置,再通关过遍历(或者二分)找到term。 这样做好像比直接对所有的term建立索引会复杂了点,但是它有个好处,就是对tis中的term可以进行压缩(前缀压缩)
我们再引用一位高手的图,来说明整个结构
我们从代码的角度来看看,上面建立的过程
/lucene/src/org/apache/lucene/index/TermInfosWriter.java
添加一个term信息