List of usage examples for org.apache.lucene.index IndexReader maxDoc
public abstract int maxDoc();
From source file:com.isotrol.impe3.nr.core.LocaleFilter.java
License:Open Source License
@Override public DocIdSet getDocIdSet(IndexReader reader) throws IOException { final int n = reader.maxDoc(); // Search for all final OpenBitSet all = getTerm(n, Schema.LOCALE, Schema.ALL_LOCALES, reader); // Locale loop // locale = requested || (locale = ALL && other != requested) final String localeValue = locale.toString(); final OpenBitSet result = getTerm(n, Schema.OTHER_LOCALE, localeValue, reader); result.flip(0, n);//from w w w . j ava2s . com result.intersect(all); result.union(getTerm(n, Schema.LOCALE, localeValue, reader)); return result; }
From source file:com.jaeksoft.searchlib.index.IndexStatistics.java
License:Open Source License
protected IndexStatistics(IndexReader indexReader) { maxDoc = indexReader.maxDoc(); numDocs = indexReader.numDocs();/*from w w w . ja v a 2 s .co m*/ numDeletedDocs = indexReader.numDeletedDocs(); hasDeletions = indexReader.hasDeletions(); isOptimized = indexReader.isOptimized(); }
From source file:com.jivesoftware.forum.database.FieldFilter.java
License:Open Source License
public BitSet bits(IndexReader reader) throws IOException { //Create a new BitSet with a capacity equal to the size of the index. BitSet bits = new BitSet(reader.maxDoc()); //Match all search terms. for (int i = 0; i < searchTerms.length; i++) { //Get an enumeration of all the documents that match the specified //field value. TermDocs matchingDocs = reader.termDocs(searchTerms[i]); try {//from w w w . ja va 2 s. co m if (matchingDocs != null) { while (matchingDocs.next()) { bits.set(matchingDocs.doc()); } } } finally { if (matchingDocs != null) { matchingDocs.close(); } } } return bits; }
From source file:com.leavesfly.lia.advsearching.BooksLikeThis.java
License:Apache License
public static void main(String[] args) throws IOException { Directory dir = TestUtil.getBookIndexDirectory(); IndexReader reader = IndexReader.open(dir); int numDocs = reader.maxDoc(); BooksLikeThis blt = new BooksLikeThis(reader); for (int i = 0; i < numDocs; i++) { // #1 System.out.println();//from ww w .j a v a2s.c o m Document doc = reader.document(i); System.out.println(doc.get("title")); Document[] docs = blt.docsLike(i, 10); // #2 if (docs.length == 0) { System.out.println(" None like this"); } for (Document likeThisDoc : docs) { System.out.println(" -> " + likeThisDoc.get("title")); } } reader.close(); dir.close(); }
From source file:com.leavesfly.lia.advsearching.CategorizerTest.java
License:Apache License
private void buildCategoryVectors() throws IOException { IndexReader reader = IndexReader.open(TestUtil.getBookIndexDirectory()); int maxDoc = reader.maxDoc(); for (int i = 0; i < maxDoc; i++) { if (!reader.isDeleted(i)) { Document doc = reader.document(i); String category = doc.get("category"); Map vectorMap = (Map) categoryMap.get(category); if (vectorMap == null) { vectorMap = new TreeMap(); categoryMap.put(category, vectorMap); }/*from w w w. jav a2 s. co m*/ TermFreqVector termFreqVector = reader.getTermFreqVector(i, "subject"); addTermFreqToMap(vectorMap, termFreqVector); } } }
From source file:com.leavesfly.lia.extsearch.filters.SpecialsFilter.java
License:Apache License
public DocIdSet getDocIdSet(IndexReader reader) throws IOException { OpenBitSet bits = new OpenBitSet(reader.maxDoc()); String[] isbns = accessor.isbns(); // #1 int[] docs = new int[1]; int[] freqs = new int[1]; for (String isbn : isbns) { if (isbn != null) { TermDocs termDocs = reader.termDocs(new Term("isbn", isbn)); // #2 int count = termDocs.read(docs, freqs); if (count == 1) { // #3 bits.set(docs[0]); // #3 } // #3 }/*from w ww .j ava 2 s . c o m*/ } return bits; }
From source file:com.leavesfly.lia.tool.BooksMoreLikeThis.java
License:Apache License
public static void main(String[] args) throws Throwable { String indexDir = System.getProperty("index.dir"); FSDirectory directory = FSDirectory.open(new File(indexDir)); IndexReader reader = IndexReader.open(directory); IndexSearcher searcher = new IndexSearcher(reader); int numDocs = reader.maxDoc(); MoreLikeThis mlt = new MoreLikeThis(reader); // #A mlt.setFieldNames(new String[] { "title", "author" }); mlt.setMinTermFreq(1); // #B mlt.setMinDocFreq(1);//w ww .ja va 2 s . c om for (int docID = 0; docID < numDocs; docID++) { // #C System.out.println(); Document doc = reader.document(docID); System.out.println(doc.get("title")); Query query = mlt.like(docID); // #D System.out.println(" query=" + query); TopDocs similarDocs = searcher.search(query, 10); if (similarDocs.totalHits == 0) System.out.println(" None like this"); for (int i = 0; i < similarDocs.scoreDocs.length; i++) { if (similarDocs.scoreDocs[i].doc != docID) { // #E doc = reader.document(similarDocs.scoreDocs[i].doc); System.out.println(" -> " + doc.getField("title").stringValue()); } } } searcher.close(); reader.close(); directory.close(); }
From source file:com.marc.lastweek.business.util.lucene.filters.StateFilter.java
License:Open Source License
@Override public BitSet bits(IndexReader indexreader) throws IOException { BitSet bitSet = new BitSet(indexreader.maxDoc()); TermDocs termDocs = indexreader.termDocs(new Term("state", "0")); while (termDocs.next()) { bitSet.set(termDocs.doc());// www. j a v a2s . com } return bitSet; }
From source file:com.mathworks.xzheng.advsearching.CategorizerTest.java
License:Apache License
private void buildCategoryVectors() throws IOException { IndexReader reader = IndexReader.open(TestUtil.getBookIndexDirectory()); int maxDoc = reader.maxDoc(); for (int i = 0; i < maxDoc; i++) { if (!reader.document(i)) { Document doc = reader.document(i); String category = doc.get("category"); Map vectorMap = (Map) categoryMap.get(category); if (vectorMap == null) { vectorMap = new TreeMap(); categoryMap.put(category, vectorMap); }//from w ww. ja v a2 s .com Terms terms = reader.getTermVector(i, "subject"); addTermFreqToMap(vectorMap, terms); } } }
From source file:com.mathworks.xzheng.tools.BooksMoreLikeThis.java
License:Apache License
public static void main(String[] args) throws Throwable { String indexDir = System.getProperty("index.dir"); FSDirectory directory = FSDirectory.open(new File(indexDir)); IndexReader reader = IndexReader.open(directory); IndexSearcher searcher = new IndexSearcher(reader); int numDocs = reader.maxDoc(); MoreLikeThis mlt = new MoreLikeThis(reader); // #A mlt.setFieldNames(new String[] { "title", "author" }); mlt.setMinTermFreq(1); // #B mlt.setMinDocFreq(1);/*from w w w .ja v a2 s . c o m*/ for (int docID = 0; docID < numDocs; docID++) { // #C System.out.println(); Document doc = reader.document(docID); System.out.println(doc.get("title")); Query query = mlt.like(docID); // #D System.out.println(" query=" + query); TopDocs similarDocs = searcher.search(query, 10); if (similarDocs.totalHits == 0) System.out.println(" None like this"); for (int i = 0; i < similarDocs.scoreDocs.length; i++) { if (similarDocs.scoreDocs[i].doc != docID) { // #E doc = reader.document(similarDocs.scoreDocs[i].doc); System.out.println(" -> " + doc.getField("title").stringValue()); } } } reader.close(); directory.close(); }