首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

在Lucene中,怎么得到一个DocIdSet?

2013-01-04 
在Lucene中,怎样得到一个DocIdSet??在做一个Filter,用来过滤安全级别不符的文件,所以要重写Filter里面的bi

在Lucene中,怎样得到一个DocIdSet??
在做一个Filter,用来过滤安全级别不符的文件,所以要重写Filter里面的bits()方法
可是新版Lucene的文档里说bits()方法现在是Deprecated,推荐我使用getDocIdSet()方法
可是这个getDocIdSet()是一个DocIdSet类型的方法。。
请问我该怎样将搜索到得结果转换成一个DocIdSet类型的对象呢?

小弟在此多谢啦
[解决办法]
看那个范例中的 text.jsp文件
[解决办法]
看源代码的实现就有,例如现行版本(2.9.0)的数字范围检索就是用了位图(bitset):标记位做
标记以标记文档 满足/不满足

MultiTermQueryWrapperFilter类
看下这样的调用:

1.MultiTermQueryWrapperFilter.getDocIdSet(IndexReader) line: 171
2.MultiTermQueryWrapperFilter$2(MultiTermQueryWrapperFilter$TermGenerator).generate  (IndexReader, TermEnum) line: 115
3.MultiTermQueryWrapperFilter$2.handleDoc(int) line: 169
4.OpenBitSet.set(long) line: 233

算是一个实例

热点排行