public static class FieldComparator.FloatComparator extends FieldComparator.NumericComparator<Float>
LeafReader.getNumericDocValues(String)
and sorts by ascending valueFieldComparator.DocComparator, FieldComparator.DoubleComparator, FieldComparator.FloatComparator, FieldComparator.IntComparator, FieldComparator.LongComparator, FieldComparator.NumericComparator<T extends Number>, FieldComparator.RelevanceComparator, FieldComparator.TermOrdValComparator, FieldComparator.TermValComparator
currentReaderValues, field, missingValue
Constructor and Description |
---|
FloatComparator(int numHits,
String field,
Float missingValue)
Creates a new comparator based on
Float.compare(float, float) for numHits . |
Modifier and Type | Method and Description |
---|---|
int |
compare(int slot1,
int slot2)
Compare hit at slot1 with hit at slot2.
|
int |
compareBottom(int doc)
Compare the bottom of the queue with this doc.
|
int |
compareTop(int doc)
Compare the top value with this doc.
|
void |
copy(int slot,
int doc)
This method is called when a new hit is competitive.
|
void |
setBottom(int bottom)
Set the bottom slot, ie the "weakest" (sorted last)
entry in the queue.
|
void |
setTopValue(Float value)
Record the top value, for future calls to
LeafFieldComparator.compareTop(int) . |
Float |
value(int slot)
Return the actual value in the slot.
|
doSetNextReader, getNumericDocValues
getLeafComparator, setScorer
compareValues
public FloatComparator(int numHits, String field, Float missingValue)
Float.compare(float, float)
for numHits
.
When a document has no value for the field, missingValue
is substituted.public int compare(int slot1, int slot2)
FieldComparator
compare
in class FieldComparator<Float>
slot1
- first slot to compareslot2
- second slot to compareN < 0
if slot2's value is sorted after
slot1, any N > 0
if the slot2's value is sorted before
slot1 and 0
if they are equalpublic int compareBottom(int doc) throws IOException
LeafFieldComparator
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).
doc
- that was hitN < 0
if the doc's value is sorted after
the bottom entry (not competitive), any N > 0
if the
doc's value is sorted before the bottom entry and 0
if
they are equal.IOException
public void copy(int slot, int doc) throws IOException
LeafFieldComparator
slot
- which slot to copy the hit todoc
- docID relative to current readerIOException
public void setBottom(int bottom)
LeafFieldComparator
LeafFieldComparator.compareBottom(int)
is
called, you should compare against this slot. This
will always be called before LeafFieldComparator.compareBottom(int)
.bottom
- the currently weakest (sorted last) slot in the queuepublic void setTopValue(Float value)
FieldComparator
LeafFieldComparator.compareTop(int)
. This is only called for searches that
use searchAfter (deep paging), and is called before any
calls to FieldComparator.getLeafComparator(LeafReaderContext)
.setTopValue
in class FieldComparator<Float>
public Float value(int slot)
FieldComparator
value
in class FieldComparator<Float>
slot
- the valuepublic int compareTop(int doc) throws IOException
LeafFieldComparator
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).doc
- that was hitN < 0
if the doc's value is sorted after
the top entry (not competitive), any N > 0
if the
doc's value is sorted before the top entry and 0
if
they are equal.IOException
Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.