public static final class ToParentBlockJoinFieldComparator.Highest extends ToParentBlockJoinFieldComparator
ToParentBlockJoinSortField
to sorts the parent docs with the highest values
in the child / nested docs first.ToParentBlockJoinFieldComparator.Highest, ToParentBlockJoinFieldComparator.Lowest
FieldComparator.ByteComparator, FieldComparator.DocComparator, FieldComparator.DoubleComparator, FieldComparator.FloatComparator, FieldComparator.IntComparator, FieldComparator.LongComparator, FieldComparator.NumericComparator<T extends Number>, FieldComparator.RelevanceComparator, FieldComparator.ShortComparator, FieldComparator.TermOrdValComparator, FieldComparator.TermValComparator
Constructor and Description |
---|
ToParentBlockJoinFieldComparator.Highest(FieldComparator<Object> wrappedComparator,
Filter parentFilter,
Filter childFilter,
int spareSlot)
Create ToParentBlockJoinFieldComparator.Highest
|
Modifier and Type | Method and Description |
---|---|
int |
compareBottom(int parentDoc)
Compare the bottom of the queue with this doc.
|
int |
compareTop(int parentDoc)
Compare the top value with this doc.
|
void |
copy(int slot,
int parentDoc)
This method is called when a new hit is competitive.
|
compare, setBottom, setNextReader, setTopValue, value
compareValues, setScorer
public ToParentBlockJoinFieldComparator.Highest(FieldComparator<Object> wrappedComparator, Filter parentFilter, Filter childFilter, int spareSlot)
wrappedComparator
- The FieldComparator
on the child / nested level.parentFilter
- Filter (must produce FixedBitSet per-segment) that identifies the parent documents.childFilter
- Filter that defines which child / nested documents participates in sorting.spareSlot
- The extra slot inside the wrapped comparator that is used to compare which nested document
inside the parent document scope is most competitive.public int compareBottom(int parentDoc) throws IOException
FieldComparator
FieldComparator.compare(int,int)
} as if bottom were slot1 and the new
document were slot 2.
For a search that hits many results, this method will be the hotspot (invoked by far the most frequently).
compareBottom
in class FieldComparator<Object>
parentDoc
- that was hitIOException
public void copy(int slot, int parentDoc) throws IOException
FieldComparator
copy
in class FieldComparator<Object>
slot
- which slot to copy the hit toparentDoc
- docID relative to current readerIOException
public int compareTop(int parentDoc) throws IOException
FieldComparator
FieldComparator.compare(int,int)
} as if topValue were slot1 and the new
document were slot 2. This is only called for searches that
use searchAfter (deep paging).compareTop
in class FieldComparator<Object>
parentDoc
- that was hitIOException
Copyright © 2000-2016 The Apache Software Foundation. All Rights Reserved.