@Override public boolean get(int index) { int[] delSet = _currentDelDocIds; if (delSet != null && Arrays.binarySearch(delSet, index) >= 0) { return false; } Bits liveDocs = in.getLiveDocs(); if (liveDocs == null) { return true; } return liveDocs.get(index); }
@Override public int length() { return in.getLiveDocs().length(); } };
public boolean isDeleted(int docid) { int[] delSet = _currentDelDocIds; if (delSet != null && Arrays.binarySearch(delSet, docid) >= 0) { return true; } Bits liveDocs = in.getLiveDocs(); if (liveDocs == null) { return false; } return !liveDocs.get(docid); }
@Override public int length() { return in.getLiveDocs().length(); } };
public boolean isDeleted(int docid) { int[] delSet = _currentDelDocIds; if (delSet != null && Arrays.binarySearch(delSet, docid) >= 0) { return true; } Bits liveDocs = in.getLiveDocs(); if (liveDocs == null) { return false; } return !liveDocs.get(docid); }
@Override public boolean get(int index) { int[] delSet = _currentDelDocIds; if (delSet != null && Arrays.binarySearch(delSet, index) >= 0) { return false; } Bits liveDocs = in.getLiveDocs(); if (liveDocs == null) { return true; } return liveDocs.get(index); }
private void advanceScorer () throws IOException { while (nextReader < leaves.size()) { leaf = leaves.get(nextReader++); scorer = weight.scorer(leaf, ordered, false, leaf.reader().getLiveDocs()); // NB: arg 3 (topScorer) was 'true' prior to 4.1 upgrade but incorrectly I think?? if (scorer != null) { return; } } scorer = null; }
@Override public int advance(int target) throws IOException { Bits liveDocs = reader.getLiveDocs(); for (int i = target; i < reader.maxDoc(); ++i) { if (liveDocs != null && !liveDocs.get(i)) { continue; } doc = i; return doc; } return NO_MORE_DOCS; }
private void init(AtomicReader reader) throws IOException { int maxDoc = reader.maxDoc(); _uidArray = new long[maxDoc]; NumericDocValues uidValues = reader .getNumericDocValues(AbstractZoieIndexable.DOCUMENT_ID_PAYLOAD_FIELD); Bits liveDocs = reader.getLiveDocs(); for (int i = 0; i < maxDoc; ++i) { if (liveDocs != null && !liveDocs.get(i)) { _uidArray[i] = ZoieSegmentReader.DELETED_UID; continue; } _uidArray[i] = uidValues.get(i); } }
private void init(AtomicReader reader) throws IOException { int maxDoc = reader.maxDoc(); _uidArray = new long[maxDoc]; NumericDocValues uidValues = reader .getNumericDocValues(AbstractZoieIndexable.DOCUMENT_ID_PAYLOAD_FIELD); Bits liveDocs = reader.getLiveDocs(); for (int i = 0; i < maxDoc; ++i) { if (liveDocs != null && !liveDocs.get(i)) { _uidArray[i] = ZoieSegmentReader.DELETED_UID; continue; } _uidArray[i] = uidValues.get(i); } }
@Override public Explanation explain(final AtomicReaderContext context, final int doc) throws IOException { final NodeScorer scorer = (NodeScorer) this.scorer(context, context.reader().getLiveDocs()); if (scorer != null) { if (scorer.skipToCandidate(doc) && scorer.doc() == doc) { return weight.explain(context, doc); } } return new ComplexExplanation(false, 0.0f, "no matching term"); }
@Override public Explanation explain(final AtomicReaderContext context, final int doc) throws IOException { final NodeScorer scorer = (NodeScorer) this.scorer(context, context.reader().getLiveDocs()); if (scorer != null) { if (scorer.skipToCandidate(doc) && scorer.doc() == doc) { return weight.explain(context, doc); } } return new ComplexExplanation(false, 0.0f, "no matching term"); }
@Override public Explanation explain(final AtomicReaderContext context, final int doc) throws IOException { final NodeScorer scorer = (NodeScorer) this.scorer(context, context.reader().getLiveDocs()); if (scorer != null) { if (scorer.skipToCandidate(doc) && scorer.doc() == doc && scorer.nextNode()) { return includeWeight.explain(context, doc); } } return new ComplexExplanation(false, 0.0f, "no matching term"); }
@Override public Explanation explain(final AtomicReaderContext context, final int doc) throws IOException { final LuceneProxyNodeScorer dScorer = (LuceneProxyNodeScorer) this.scorer(context, true, false, context.reader().getLiveDocs()); if (dScorer != null) { if (dScorer.advance(doc) != DocIdSetIterator.NO_MORE_DOCS && dScorer.docID() == doc) { final Explanation exp = dScorer.getWeight().explain(context, doc); exp.setValue(dScorer.score()); return exp; } } return new ComplexExplanation(false, 0.0f, "no matching term"); }
@Override public Explanation explain(final AtomicReaderContext context, final int doc) throws IOException { final LuceneProxyNodeScorer dScorer = (LuceneProxyNodeScorer) this.scorer(context, context.reader().getLiveDocs()); if (dScorer != null) { if (dScorer.advance(doc) != DocIdSetIterator.NO_MORE_DOCS && dScorer.docID() == doc) { final Explanation exp = dScorer.getWeight().explain(context, doc); exp.setValue(dScorer.score()); return exp; } } return new ComplexExplanation(false, 0.0f, "no matching term"); }
protected Scorer getScorer(final Query query) throws IOException { final Weight weight = searcher.createNormalizedWeight(query); assertTrue(searcher.getTopReaderContext() instanceof AtomicReaderContext); final AtomicReaderContext context = (AtomicReaderContext) searcher.getTopReaderContext(); return weight.scorer(context, true, true, context.reader().getLiveDocs()); }
protected Scorer getScorer(final Query query) throws IOException { final Weight weight = searcher.createNormalizedWeight(query); assertTrue(searcher.getTopReaderContext() instanceof AtomicReaderContext); final AtomicReaderContext context = (AtomicReaderContext) searcher.getTopReaderContext(); Scorer scorer = weight.scorer(context, context.reader().getLiveDocs()); return scorer; }
@Override public Explanation explain(AtomicReaderContext context, int doc) throws IOException { Scorer scorer = scorer(context, context.reader().getLiveDocs()); if (scorer != null) { int newDoc = scorer.advance(doc); if (newDoc == doc) { float score = scorer.score(); ComplexExplanation result = new ComplexExplanation(); result.setDescription("ImageQuery, product of:"); result.setValue(score); if (getBoost() != 1.0f) { result.addDetail(new Explanation(getBoost(),"boost")); score = score / getBoost(); } result.addDetail(new Explanation(score ,"image score (1/distance)")); result.setMatch(true); return result; } } return new ComplexExplanation(false, 0.0f, "no matching term"); } }
@Override public Explanation explain(AtomicReaderContext context, int doc) throws IOException { Scorer scorer = scorer(context, context.reader().getLiveDocs()); if (scorer != null) { int newDoc = scorer.advance(doc); if (newDoc == doc) { float score = scorer.score(); ComplexExplanation result = new ComplexExplanation(); result.setDescription("ImageHashQuery, product of:"); result.setValue(score); if (getBoost() != 1.0f) { result.addDetail(new Explanation(getBoost(),"boost")); score = score / getBoost(); } result.addDetail(new Explanation(score ,"image score (1/distance)")); result.setMatch(true); return result; } } return new ComplexExplanation(false, 0.0f, "no matching term"); } }
@Override public Explanation explain(AtomicReaderContext context, int doc) throws IOException { Scorer scorer = scorer(context, context.reader().getLiveDocs()); if (scorer != null) { int newDoc = scorer.advance(doc); if (newDoc == doc) { float score = scorer.score(); ComplexExplanation result = new ComplexExplanation(); result.setDescription("ImageHashLimitQuery, product of:"); result.setValue(score); if (getBoost() != 1.0f) { result.addDetail(new Explanation(getBoost(),"boost")); score = score / getBoost(); } result.addDetail(new Explanation(score ,"image score (1/distance)")); result.setMatch(true); return result; } } return new ComplexExplanation(false, 0.0f, "no matching term"); } }