1 20 21 package com.Yasna.forum.database; 22 23 import java.util.BitSet ; 24 import java.io.IOException ; 25 26 import org.apache.lucene.index.Term; 27 import org.apache.lucene.index.TermDocs; 28 import org.apache.lucene.index.IndexReader; 29 30 48 public class FieldFilter extends org.apache.lucene.search.Filter { 49 50 private String field; 51 private String value; 52 private Term searchTerm; 53 54 65 public FieldFilter(String field, String value) { 66 this.field = field; 67 this.value = value; 68 searchTerm = new Term(field, value); 69 } 70 71 public BitSet bits(IndexReader reader) throws IOException { 72 BitSet bits = new BitSet (reader.maxDoc()); 74 TermDocs matchingDocs = reader.termDocs(searchTerm); 77 try { 78 while(matchingDocs.next()) { 79 bits.set(matchingDocs.doc()); 80 } 81 } 82 finally { 83 if (matchingDocs != null) { 84 matchingDocs.close(); 85 } 86 } 87 return bits; 88 } 89 } 90 | Popular Tags |