@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; } }
while (termEnum.next());
while (termEnum.next());
while (termEnum.next());
while (termEnum.next());
} while (terms.next());
public boolean next() throws IOException { return in.next(); } public Term term() { return in.term(); }
@Override public boolean next() throws IOException { if (quit) { return false; } if (count >= 10000) { if (!running.get()) { quit = true; } count = 0; } count++; return terms.next(); }
final boolean next() throws IOException { if (termEnum.next()) { term = termEnum.term(); return true; } else { term = null; return false; } }
final boolean next() throws IOException { if (termEnum.next()) { term = termEnum.term(); return true; } else { term = null; return false; } }
final boolean next() throws IOException { if (termEnum.next()) { term = termEnum.term(); return true; } else { term = null; return false; } }
public boolean next() throws IOException { pos++; boolean b = tenum.next(); if (!b) { t = null; return false; } return setTerm(); // this is extra work if we know we are in bounds... }
public Object next() { if (!hasNextCalled) { hasNext(); } hasNextCalled = false; try { termEnum.next(); } catch (IOException e) { throw new RuntimeException(e); } return (actualTerm != null) ? actualTerm.text() : null; }
public Object next() { if (!hasNextCalled) { hasNext(); } hasNextCalled = false; try { termEnum.next(); } catch (IOException e) { throw new RuntimeException(e); } return (actualTerm != null) ? actualTerm.text() : null; }
TermEnum te = reader.terms(new Term("field", "app")); List<Term> termList = new LinkedList<Term>(); while(te.next()) { Term t = te.term(); if (!t.field().equals("field") || !t.text().startsWith("app")) { break; } termList.add(t); } Term[] terms = termList.toArray(new Term[0]);
/** 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"); }
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()); } }
private static Term getFirstTerm(Term t, SegmentReader reader) throws IOException { TermEnum terms = reader.terms(t); try { if (terms.next()) { return terms.term(); } return null; } finally { terms.close(); } }
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(); }
public NSArray<String> findTermStringsForPrefix(String field, String prefix) { NSMutableArray<String> terms = new NSMutableArray<>(); try { IndexReader reader = indexReader(); TermEnum tenum = new PrefixTermEnum(reader, new Term(field, prefix)); do { if (tenum.term() == null) break; final String termText = tenum.term().text(); terms.addObject(termText); } while (tenum.next()); } catch (Exception e) { e.printStackTrace(); } return terms; }