specialsfilter.java

来自「LuceneInAction配套源码,LuceneInAction是对lucen」· Java 代码 · 共 48 行

JAVA
48
字号
package lia.extsearch.filters;import org.apache.lucene.index.IndexReader;import org.apache.lucene.index.Term;import org.apache.lucene.index.TermDocs;import org.apache.lucene.search.Filter;import java.io.IOException;import java.util.BitSet;import lia.extsearch.filters.SpecialsAccessor;public class SpecialsFilter extends Filter {  private SpecialsAccessor accessor;  public SpecialsFilter(SpecialsAccessor accessor) {    this.accessor = accessor;  }  public BitSet bits(IndexReader reader) throws IOException {    BitSet bits = new BitSet(reader.maxDoc());    String[] isbns = accessor.isbns();    int[] docs = new int[1];    int[] freqs = new int[1];    for (int i = 0; i < isbns.length; i++) {      String isbn = isbns[i];      if (isbn != null) {        TermDocs termDocs =            reader.termDocs(new Term("isbn", isbn));        int count = termDocs.read(docs, freqs);        if (count == 1) {          bits.set(docs[0]);        }      }    }    return bits;  }  public String toString() {    return "SpecialsFilter";  }}

⌨️ 快捷键说明

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