@Override public int endOffset() throws IOException { return in.endOffset(); }
@Override public int endOffset() throws IOException { return pe.endOffset(); }
@Override public int endOffset() throws IOException { return postings[postings.length - 1].postings.endOffset(); }
@Override public int endOffset() throws IOException { return current.endOffset(); }
@Override public int endOffset() throws IOException { return current.postings.endOffset(); }
@Override public int endOffset() throws IOException { int endOffset = leadEndOffset; for (PhrasePositions pp : phrasePositions) { if (pp.ord != leadOrd) { endOffset = Math.max(endOffset, pp.postings.endOffset()); } } return endOffset; }
private void captureLead(PhrasePositions pp) throws IOException { if (captureLeadMatch == false) { return; } leadOrd = pp.ord; leadPosition = pp.position + pp.offset; leadOffset = pp.postings.startOffset(); leadEndOffset = pp.postings.endOffset(); }
@Override public int endOffset() throws IOException { return posQueue.top().pe.endOffset(); }
final int endOffset = postings.endOffset(); int postingsEndOffset = postingsDocs.endOffset(); if (startOffset != postingsStartOffset) { throw new RuntimeException("vector term=" + term + " field=" + field + " doc=" + j + ": startOffset=" + startOffset + " differs from postings startOffset=" + postingsStartOffset);
private void addPositions(final PostingsEnum in, final IndexOutput out) throws IOException { int freq = in.freq(); out.writeVInt(freq); int previousPosition = 0; int previousEndOffset = 0; for (int i = 0; i < freq; i++) { final int pos = in.nextPosition(); final BytesRef payload = in.getPayload(); // The low-order bit of token is set only if there is a payload, the // previous bits are the delta-encoded position. final int token = (pos - previousPosition) << 1 | (payload == null ? 0 : 1); out.writeVInt(token); previousPosition = pos; if (storeOffsets) { // don't encode offsets if they are not stored final int startOffset = in.startOffset(); final int endOffset = in.endOffset(); out.writeVInt(startOffset - previousEndOffset); out.writeVInt(endOffset - startOffset); previousEndOffset = endOffset; } if (payload != null) { out.writeVInt(payload.length); out.writeBytes(payload.bytes, payload.offset, payload.length); } } }
if (writeOffsets) { startOffset = postingsEnum.startOffset(); endOffset = postingsEnum.endOffset(); } else { startOffset = -1;
final int pos = docsAndPositionsEnum.nextPosition(); final int startOffset = docsAndPositionsEnum.startOffset(); final int endOffset = docsAndPositionsEnum.endOffset();
final int pos = docsAndPositionsEnum.nextPosition(); final int startOffset = docsAndPositionsEnum.startOffset(); final int endOffset = docsAndPositionsEnum.endOffset();
private void initValues(Terms curTerms, PostingsEnum posEnum, int termFreq) throws IOException { for (int j = 0; j < termFreq; j++) { int nextPos = posEnum.nextPosition(); if (curTerms.hasPositions()) { currentPositions[j] = nextPos; } if (curTerms.hasOffsets()) { currentStartOffset[j] = posEnum.startOffset(); currentEndOffset[j] = posEnum.endOffset(); } if (curTerms.hasPayloads()) { BytesRef curPayload = posEnum.getPayload(); if (curPayload != null) { currentPayloads[j] = new BytesArray(curPayload.bytes, 0, curPayload.length); } else { currentPayloads[j] = null; } } } }
@Override public int endOffset() throws IOException { return current.postings.endOffset(); }
@Override public int endOffset() throws IOException { int endOffset = leadEndOffset; for (PhrasePositions pp : phrasePositions) { if (pp.ord != leadOrd) { endOffset = Math.max(endOffset, pp.postings.endOffset()); } } return endOffset; }
private PostingsEnum writeTermWithDocsAndPos(TermsEnum iterator, PostingsEnum docsAndPosEnum, boolean positions, boolean offsets, boolean payloads) throws IOException { docsAndPosEnum = iterator.postings(docsAndPosEnum, PostingsEnum.ALL); // for each term (iterator next) in this field (field) // iterate over the docs (should only be one) int nextDoc = docsAndPosEnum.nextDoc(); assert nextDoc != DocIdSetIterator.NO_MORE_DOCS; final int freq = docsAndPosEnum.freq(); writeFreq(freq); for (int j = 0; j < freq; j++) { int curPos = docsAndPosEnum.nextPosition(); if (positions) { writePosition(curPos); } if (offsets) { writeOffsets(docsAndPosEnum.startOffset(), docsAndPosEnum.endOffset()); } if (payloads) { writePayload(docsAndPosEnum.getPayload()); } } nextDoc = docsAndPosEnum.nextDoc(); assert nextDoc == DocIdSetIterator.NO_MORE_DOCS; return docsAndPosEnum; }
private void captureLead(PhrasePositions pp) throws IOException { if (captureLeadMatch == false) { return; } leadOrd = pp.ord; leadPosition = pp.position + pp.offset; leadOffset = pp.postings.startOffset(); leadEndOffset = pp.postings.endOffset(); }
private void setOffsets(Term termResult, TermsEnum termsIter) throws IOException { PostingsEnum docsAndPositionsIter = termsIter.postings(null, PostingsEnum.POSITIONS); if (docsAndPositionsIter != null && docsAndPositionsIter.nextDoc() != DocIdSetIterator.NO_MORE_DOCS && docsAndPositionsIter.freq() > 0 && docsAndPositionsIter.nextPosition() != -1 && docsAndPositionsIter.startOffset() != -1) { termResult.setStartPosition(docsAndPositionsIter.startOffset()); if (docsAndPositionsIter.endOffset() != -1) { termResult.setLength(docsAndPositionsIter.endOffset() - docsAndPositionsIter.startOffset()); } } }