在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
算是一个实例