multifilter.java

来自「JSP新闻发布系统 JSP新闻发布系统」· Java 代码 · 共 51 行

JAVA
51
字号
package net.ijsp.news.search;/** * <p>Title:搜索 </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company:ijsp.net </p> * @author ccjsmile * @version 1.0 */import java.util.*;import java.io.IOException;import org.apache.lucene.index.Term;import org.apache.lucene.index.TermDocs;import org.apache.lucene.index.IndexReader;import org.apache.lucene.search.Filter;public class MultiFilter extends org.apache.lucene.search.Filter {    private List filterList;    public MultiFilter() {        filterList = new ArrayList();    }    public MultiFilter(int initialCapacity) {        filterList = new ArrayList(initialCapacity);    }    public void add(Filter filter) {        filterList.add(filter);    }    public BitSet bits(IndexReader reader) throws IOException {        int filterListSize = filterList.size();        if (filterListSize > 0) {            BitSet bits = ((Filter)filterList.get(0)).bits(reader);            for (int i=1; i<filterListSize; i++) {                bits.and( ((Filter)filterList.get(i)).bits(reader) );            }            return bits;        }else {            return new BitSet(reader.maxDoc());        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?