本来想用IndexReader.Delete(docNum)的方式,后来发现除非遍历整个索引,否则是没有办法获得docNum的(一个索引里边上万条记录太正常了,这个遍历就太恐怖了)。
后来发现一个简单的,直接IndexReader.Delete(term)就可以了。把url也保存成一个field(注意要是keyword),然后IndexReader.Delete(new Term("url","http://ringoding/test.html"))就可以了。
其实这个方法早就知道,只是折腾了好久...曲折,有的时候本来很简单的东西,结果被自己弄复杂了。
后来发现一个简单的,直接IndexReader.Delete(term)就可以了。把url也保存成一个field(注意要是keyword),然后IndexReader.Delete(new Term("url","http://ringoding/test.html"))就可以了。
其实这个方法早就知道,只是折腾了好久...曲折,有的时候本来很简单的东西,结果被自己弄复杂了。
本文介绍了一种在搜索引擎索引中直接通过关键字删除特定记录的方法,避免了遍历整个索引来查找并删除指定文档的繁琐过程。
82

被折叠的 条评论
为什么被折叠?



