Lucene建立索引过程中的问题

sky2098 2008-04-05 12:19:36
最近在研究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
...全文
177 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
oraclelogan 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 sky2098 的帖子:]
最近在研究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文件,例如,…
[/Quote]

你用随机索引地址啊,建议你用指定的索引地址或者用相对的索引地址。
tianjiao85 2009-04-16
  • 打赏
  • 举报
回复
帮顶下,不懂,我今天也被RAMDirectory与FSDirectory搞晕了。。
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
以后需再关注,现在先帮你顶一下

2,760

社区成员

发帖
与我相关
我的任务
社区描述
搜索引擎的服务器通过网络搜索软件或网络登录等方式,将Internet上大量网站的页面信息收集到本地,经过加工处理建立信息数据库和索引数据库。
社区管理员
  • 搜索引擎技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧