Lucene建立索引过程中的问题
最近在研究Lucene的建立索引的过程,研究Lucene 2.2.0的源码。
有一个问题想请教:
Lucene在建立索引的过程中,(如果先设置useCompoundFile=false)在DocumentWriter类的addDocument()中要把Field的信息写入到.fnm文件,但是从IndexWriter中生成的segmentName形如_ram_N,进入到DocumentWriter类的addDocument()中首先要在RAMDirectory中创建ram_N.fnm,连续达到10个以后,便打开了一个FSDirectory,生成一个_N.fnm文件,例如,如下所示:
_ram_1.fnm
_ram_2.fnm
_ram_3.fnm
_ram_4.fnm
_ram_5.fnm
_ram_6.fnm
_ram_7.fnm
_ram_8.fnm
_ram_9.fnm
_0.fnm
_ram_a.fnm
_ram_b.fnm
_ram_c.fnm
_ram_d.fnm
_ram_e.fnm
_ram_f.fnm
_ram_g.fnm
_ram_h.fnm
_ram_i.fnm
_ram_j.fnm
_1.fnm
……
我对建立索引的过程进行跟踪,就是没有找到它是怎么把那个"_ram"前缀拿掉的。
请问,在RAMDirectory与FSDirectory之间是如何进行这个转换处理的?
请指点。
可以即时联系,个人MSN :shirdrn@hotmail.com