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.IOExceptionpublic void grow(int count)
PointValues.IntersectVisitorgrow in interface PointValues.IntersectVisitorpublic void visit(int docID)
PointValues.IntersectVisitorvisit in interface PointValues.IntersectVisitorpublic void visit(int docID,
byte[] packedValue)
PointValues.IntersectVisitorvisit in interface PointValues.IntersectVisitorpublic void visit(DocIdSetIterator iterator, byte[] packedValue) throws java.io.IOException
PointValues.IntersectVisitorPointValues.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.IntersectVisitorjava.io.IOExceptionprivate boolean matches(byte[] packedValue)
public PointValues.Relation compare(byte[] minPackedValue, byte[] maxPackedValue)
PointValues.IntersectVisitorcompare in interface PointValues.IntersectVisitor