private class PointInSetQuery.MergePointVisitor extends java.lang.Object implements PointValues.IntersectVisitor
Modifier and Type | Field and Description |
---|---|
private DocIdSetBuilder.BulkAdder |
adder |
private PrefixCodedTerms.TermIterator |
iterator |
private BytesRef |
nextQueryPoint |
private DocIdSetBuilder |
result |
private BytesRef |
scratch |
private PrefixCodedTerms |
sortedPackedPoints |
Constructor and Description |
---|
MergePointVisitor(PrefixCodedTerms sortedPackedPoints,
DocIdSetBuilder result) |
Modifier and Type | Method and Description |
---|---|
PointValues.Relation |
compare(byte[] minPackedValue,
byte[] maxPackedValue)
Called for non-leaf cells to test how the cell relates to the query, to
determine how to further recurse down the tree.
|
void |
grow(int count)
Notifies the caller that this many documents are about to be visited
|
private boolean |
matches(byte[] packedValue) |
void |
visit(DocIdSetIterator iterator,
byte[] packedValue)
Similar to
PointValues.IntersectVisitor.visit(int, byte[]) but in this case the packedValue
can have more than one docID associated to it. |
void |
visit(int docID)
Called for all documents in a leaf cell that's fully contained by the query.
|
void |
visit(int docID,
byte[] packedValue)
Called for all documents in a leaf cell that crosses the query.
|
private final DocIdSetBuilder result
private PrefixCodedTerms.TermIterator iterator
private BytesRef nextQueryPoint
private final BytesRef scratch
private final PrefixCodedTerms sortedPackedPoints
private DocIdSetBuilder.BulkAdder adder
public MergePointVisitor(PrefixCodedTerms sortedPackedPoints, DocIdSetBuilder result) throws java.io.IOException
java.io.IOException
public void grow(int count)
PointValues.IntersectVisitor
grow
in interface PointValues.IntersectVisitor
public void visit(int docID)
PointValues.IntersectVisitor
visit
in interface PointValues.IntersectVisitor
public void visit(int docID, byte[] packedValue)
PointValues.IntersectVisitor
visit
in interface PointValues.IntersectVisitor
public void visit(DocIdSetIterator iterator, byte[] packedValue) throws java.io.IOException
PointValues.IntersectVisitor
PointValues.IntersectVisitor.visit(int, byte[])
but in this case the packedValue
can have more than one docID associated to it. The provided iterator should not escape the
scope of this method so that implementations of PointValues are free to reuse it,visit
in interface PointValues.IntersectVisitor
java.io.IOException
private boolean matches(byte[] packedValue)
public PointValues.Relation compare(byte[] minPackedValue, byte[] maxPackedValue)
PointValues.IntersectVisitor
compare
in interface PointValues.IntersectVisitor