@Override public DocIdSetIterator iterator() { return set != null ? new BitSetIterator(set, cost) : DocIdSetIterator.all(cost); }
private DocIdSetIterator iterateAllDocs() { Bits liveDocs = MultiFields.getLiveDocs( reader ); DocIdSetIterator allDocs = DocIdSetIterator.all( reader.maxDoc() ); if ( liveDocs == null ) { return allDocs; } return new FilteredDocIdSetIterator( allDocs ) { @Override protected boolean match( int doc ) { return liveDocs.get( doc ); } }; } }
@Override public Scorer scorer(LeafReaderContext context) throws IOException { return new ConstantScoreScorer(this, score(), DocIdSetIterator.all(context.reader().maxDoc())); }
NestedRoutingPartitionedDocIdSetIterator(Visitor visitor, BitSet parentDocs) { super(DocIdSetIterator.all(visitor.leafReader.maxDoc())); // we iterate all live-docs this.parentDocs = parentDocs; this.visitor = visitor; }
RoutingPartitionedDocIdSetIterator(Visitor visitor) { super(DocIdSetIterator.all(visitor.leafReader.maxDoc())); // we iterate all live-docs this.visitor = visitor; }
@Override public Scorer scorer(LeafReaderContext context) throws IOException { DocIdSetIterator approximation = DocIdSetIterator.all(context.reader().maxDoc()); final FilterScript leafScript = filterScript.newInstance(context); TwoPhaseIterator twoPhase = new TwoPhaseIterator(approximation) { @Override public boolean matches() throws IOException { leafScript.setDocument(approximation.docID()); return leafScript.execute(); } @Override public float matchCost() { // TODO: how can we compute this? return 1000f; } }; return new ConstantScoreScorer(this, score(), twoPhase); }
@Override public Scorer scorer(LeafReaderContext context) throws IOException { final SortedNumericDocValues values = DocValues.getSortedNumeric(context.reader(), getField()); final DocIdSetIterator approximation = DocIdSetIterator.all(context.reader().maxDoc()); final TwoPhaseIterator twoPhase = new TwoPhaseIterator(approximation) { @Override public boolean matches() throws IOException { if (values.advanceExact(approximation.docID())) { for (int i = 0; i < values.docValueCount(); i++) { if (contains(BitMixer.mix(values.nextValue()))) { return true; } } return false; } else { return contains(0); } } @Override public float matchCost() { // BitMixer.mix seems to be about 10 ops return 10; } }; return new ConstantScoreScorer(this, score(), twoPhase); }
NestedRoutingPartitionedDocIdSetIterator(Visitor visitor, BitSet parentDocs) { super(DocIdSetIterator.all(visitor.leafReader.maxDoc())); // we iterate all live-docs this.parentDocs = parentDocs; this.visitor = visitor; }
@Override public DocIdSetIterator iterator() { return set != null ? new BitSetIterator(set, cost) : DocIdSetIterator.all(cost); }
NestedRoutingPartitionedDocIdSetIterator(Visitor visitor, BitSet parentDocs) { super(DocIdSetIterator.all(visitor.leafReader.maxDoc())); // we iterate all live-docs this.parentDocs = parentDocs; this.visitor = visitor; }
RoutingPartitionedDocIdSetIterator(Visitor visitor) { super(DocIdSetIterator.all(visitor.leafReader.maxDoc())); // we iterate all live-docs this.visitor = visitor; }
RoutingPartitionedDocIdSetIterator(Visitor visitor) { super(DocIdSetIterator.all(visitor.leafReader.maxDoc())); // we iterate all live-docs this.visitor = visitor; }
@Override public Scorer scorer(LeafReaderContext context) throws IOException { return new ConstantScoreScorer(this, score(), DocIdSetIterator.all(context.reader().maxDoc())); } @Override
@Override public Scorer scorer(LeafReaderContext context) throws IOException { return new ConstantScoreScorer(this, score(), DocIdSetIterator.all(context.reader().maxDoc())); } @Override
@Override public Scorer scorer(LeafReaderContext context) throws IOException { return new ConstantScoreScorer(this, score(), DocIdSetIterator.all(context.reader().maxDoc())); }
public AllScorer(LeafReaderContext context, FunctionWeight w, float qWeight) throws IOException { super(w); this.weight = w; this.qWeight = qWeight; this.reader = context.reader(); this.maxDoc = reader.maxDoc(); iterator = DocIdSetIterator.all(context.reader().maxDoc()); vals = func.getValues(weight.context, context); }
public AllScorer(LeafReaderContext context, FunctionWeight w, float boost) throws IOException { super(w); this.weight = w; this.boost = boost; this.reader = context.reader(); this.maxDoc = reader.maxDoc(); iterator = DocIdSetIterator.all(context.reader().maxDoc()); vals = func.getValues(weight.context, context); }
@Override public Scorer scorer(LeafReaderContext context) throws IOException { DocIdSetIterator approximation = DocIdSetIterator.all(context.reader().maxDoc()); TwoPhaseIterator it = predicateValueSource.iterator(context, approximation); return new ConstantScoreScorer(this, score(), it); }
public AllScorer(LeafReaderContext context, FunctionWeight w, float qWeight) throws IOException { super(w); this.weight = w; this.qWeight = qWeight; this.reader = context.reader(); this.maxDoc = reader.maxDoc(); iterator = DocIdSetIterator.all(context.reader().maxDoc()); vals = func.getValues(weight.context, context); }
@Override public Scorer scorer(LeafReaderContext context) throws IOException { DoubleValues values = vs.getValues(context, null); DocIdSetIterator approximation = DocIdSetIterator.all(context.reader().maxDoc()); TwoPhaseIterator twoPhase = new TwoPhaseIterator(approximation) { @Override public boolean matches() throws IOException { return values.advanceExact(approximation.docID()) && filter.test(values.doubleValue()); } @Override public float matchCost() { return 100; // TODO maybe DoubleValuesSource should have a matchCost? } }; return new ConstantScoreScorer(this, score(), twoPhase); }