@Override protected Object createValue(IndexReader reader, Entry entryKey) throws IOException { Entry entry = entryKey; String field = entry.field; if (reader.maxDoc() == reader.docFreq(new Term(field))) { return DocIdSet.EMPTY_DOCIDSET; } OpenBitSet res = new OpenBitSet(reader.maxDoc()); TermDocs termDocs = reader.termDocs(); TermEnum termEnum = reader.terms (new Term (field)); try { do { Term term = termEnum.term(); if (term==null || term.field() != field) break; termDocs.seek (termEnum); while (termDocs.next()) { res.fastSet(termDocs.doc()); } } while (termEnum.next()); } finally { termDocs.close(); termEnum.close(); } res.flip(0, reader.maxDoc()); return res; } }
TermEnum termEnum = reader.terms(new Term(field)); try
TermEnum termEnum = reader.terms(new Term(field)); try
TermEnum termEnum = reader.terms(new Term(field)); try
TermEnum termEnum = reader.terms(new Term(field)); try
NavigableMap<String, SkippableIterable<DocTermMatch>> result = new TreeMap<String, SkippableIterable<DocTermMatch>>(); try { terms = reader.terms(new Term(field, termFrom)); Term rightBoundary = new Term(field, termTo); int numberOfTerms = 0;
public ParallelTermEnum() throws IOException { field = (String)fieldToReader.firstKey(); if (field != null) termEnum = ((IndexReader)fieldToReader.get(field)).terms(); }
HighFrequencyIterator() { try { termEnum = reader.terms(new Term(field, "")); minNumDocs = (int)(thresh * (float)reader.numDocs()); } catch (IOException e) { throw new RuntimeException(e); } }
public ParallelTermEnum(Term term) throws IOException { field = term.field(); IndexReader reader = ((IndexReader)fieldToReader.get(field)); if (reader!=null) termEnum = reader.terms(term); }
/** * Scans the index beginning at <code>lower</code> Term to <code>upper</code>. * @param reader the index reader; * @param lower the lower limit. * @param upper the upper limit. */ RangeScan(IndexReader reader, Term lower, Term upper) throws IOException { this.upper = upper; setEnum(reader.terms(lower)); }
HighFrequencyIterator() { try { termEnum = reader.terms(new Term(field, "")); minNumDocs = (int) (thresh * (float) reader.numDocs()); } catch (IOException e) { throw new RuntimeException(e); } }
/** * Scans the index beginning at <code>lower</code> Term to <code>upper</code>. * @param reader the index reader; * @param lower the lower limit. * @param upper the upper limit. */ RangeScan(IndexReader reader, Term lower, Term upper) throws IOException { this.upper = upper; setEnum(reader.terms(lower)); }
/** populate the list of categories by reading the values from the categoryField in the index */ protected void scanCategories() throws IOException { TermEnum te = indexReader.terms(new Term(categoryFieldName)); final Set<String> c = categories; do { if (!te.term().field().equals(categoryFieldName)) break; c.add(te.term().text()); } while (te.next()); log.info("Scanned " + c.size() + " categories from index"); }
TermIterator() throws IOException { termsEnum = reader.terms(new Term(field, "")); Term term = termsEnum.term(); if (term == null || term.field() != field) { comp = null; } else { comp = BytesRef.getUTF8SortedAsUnicodeComparator(); } }
private void initialize() { try { termEnum = reader.terms(new Term(field, firstTerm)); } catch (IOException e) { throw LuceneUtils.ioRuntimeException(e); } if (termEnum.term() == null || !field.equals(termEnum.term().field()) || !firstTerm.equals(termEnum.term().text())) { throw new RuntimeException("Serious bug detected, term was "+termEnum.term()+", expected "+(new Term(field, firstTerm))); } val = Long.parseLong(firstTerm); }
private boolean initialize() { try { termEnum = reader.terms(new Term(field, firstTerm)); } catch (IOException e) { throw LuceneUtils.ioRuntimeException(e); } hasNext = termEnum.term() != null && field.equals(termEnum.term().field()); return hasNext; }
IndexReader reader = IndexReader.open(index); TermEnum terms = reader.terms(); Set<String> uniqueTerms = new HashSet<String>(); while (terms.next()) { final Term term = terms.term(); if (term.field().equals("field_name")) { uniqueTerms.add(term.text()); } }
/** * @throws IOException */ public CaseInsensitiveTermEnum(IndexReader reader, Term term) throws IOException { super(); this.field = term.field(); this.text = term.text().toLowerCase(); setEnum(reader.terms(new Term(term.field(), term.text().toUpperCase()))); }
protected float calculateWeight(Term term, IndexReader reader) throws IOException { //if a term is not in the index, then it's weight is 0 TermEnum termEnum = reader.terms(term); if (termEnum != null && termEnum.term() != null && termEnum.term().equals(term)) { return 1.0f / termEnum.docFreq(); } else { log.warn("Couldn't find doc freq for term {}", term); return 0; } }
public static void dumpTags(File file, String field, long maxDocs) throws IOException { Directory dir = FSDirectory.open(file); IndexReader reader = IndexReader.open(dir, true); TermEnum te = reader.terms(new Term(field, "")); do { Term term = te.term(); if (term == null || term.field().equals(field) == false) { break; } System.err.printf("%s %d\n", term.text(), te.docFreq()); } while (te.next()); te.close(); }