
|
浏览:245
2008-07-03 20:08 来自 雨中漫步的太阳 :
如题,我通过docid去删除一个Document,程序执行也没有报任何的错误,但是就是删除不来哦, 我的索引是使用的RAMDirectory和FSDirectory结合的方式来的,但是我根据docid删除的方式是IndexReader类里的,但是我能确定的是,我要删除的Document 绝对不在RAMDirectory中. 更加奇怪的问题是,当使用了我自定义的flash方法后,就可以删除掉了,我的flush的方法仅仅是将RAMDirectory和FSDirectory合并,当然addIndex 隐含的调用了optimeze方法,也就说我删除的时候必须调用优化操作,删除才起效果,这个是为什么呢,有知道的话,麻烦告诉我下. 当然如果索引小的话,也就无所谓了 但是我的索引很大,总不能删除一条信息就要调用一次optimeze吧
|