@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; } }
byte termval = parser.parseByte(term.text()); termDocs.seek(termEnum); while (termDocs.next())
short termval = parser.parseShort(term.text()); termDocs.seek(termEnum); while (termDocs.next())
retArray = new float[reader.maxDoc()]; termDocs.seek(termEnum); while (termDocs.next())
retArray = new int[reader.maxDoc()]; termDocs.seek(termEnum); while (termDocs.next())
public boolean next() throws IOException { if (termDocs==null) return false; return termDocs.next(); }
public boolean next() throws IOException { if (termDocs==null) return false; return termDocs.next(); }
@Override public boolean advanceToNextIntersection(final TermDocs termDocs) throws IOException { return termDocs.next(); } };
private int internalFillDocIdBuffer(final int[] docIdBuffer) throws IOException { int i = 0; for (; i < docIdBuffer.length; i++) { if (!termDocs.next()) break; // todo: think about setting valid = false docIdBuffer[i] = termDocs.doc(); } return i; }
private int innerNextDocs(int[] docIdBuffer) throws IOException { int i = 0; while (i < docIdBuffer.length && termDocs.next()) { docIdBuffer[i++] = termDocs.doc(); } return i; }
private BitSet initShareableNodes(IndexReader delegatee) throws IOException { BitSet shareableNodes = new BitSet(); TermDocs tDocs = delegatee.termDocs(new Term(FieldNames.SHAREABLE_NODE, "")); try { while (tDocs.next()) { shareableNodes.set(tDocs.doc()); } } finally { tDocs.close(); } return shareableNodes; }
public boolean collect(Term term, TermDocs tDocs) throws IOException { NodeId id = new NodeId(term.text()); while (tDocs.next()) { int doc = tDocs.doc(); if (parents.containsKey(id)) { parents.put(id, doc); } } return true; } });
public boolean collect(Term term, TermDocs tDocs) throws IOException { NodeId id = new NodeId(term.text()); while (tDocs.next()) { int doc = tDocs.doc(); if (parents.containsKey(id)) { parents.put(id, doc); } } return true; } });
@Override public boolean advanceToNextIntersection(final TermDocs termDocs) throws IOException { while (termDocs.next()) { if (this.bits.get(termDocs.doc())) { return true; } } return false; }
public boolean next() throws IOException { if (current != null && current.next()) { return true; } else if (pointer < readers.length) { base = starts[pointer]; current = termDocs(pointer++); return next(); } else return false; }
public static long getTotalTermFreq(IndexReader reader, Term term) throws Exception { long totalTF = 0; TermDocs td = reader.termDocs(term); while (td.next()) { totalTF += td.freq(); } return totalTF; } }
/** * Converts terms docs into an array of resources. */ public static Resource[] hitsToResourceArray(final TermDocs termDocs, IndexReader indexReader, LuceneSearchEngine searchEngine) throws IOException { ArrayList<Resource> list = new ArrayList<Resource>(); while (termDocs.next()) { list.add(new LuceneResource(indexReader.document(termDocs.doc()), termDocs.doc(), searchEngine.getSearchEngineFactory())); } return list.toArray(new Resource[list.size()]); }
private Integer getDocIdForIssueId(final IndexReader reader, final String issueId) throws IOException { final TermDocs docs = reader.termDocs(new Term(SystemSearchConstants.forLastViewedDate().getIndexField(), issueId)); return (!docs.next()) ? null : docs.doc(); }