public static final class FieldComparator.StringOrdValComparator extends FieldComparator
FieldComparator.StringValComparator, but it first resolves the string
to their relative ordinal positions (using the index
returned by FieldCache.getStringIndex(org.apache.lucene.index.IndexReader, java.lang.String)), and
does most comparisons using the ordinals. For medium
to large results, this comparator will be much faster
than FieldComparator.StringValComparator. For very small
result sets it may be slower.FieldComparator.ByteComparator, FieldComparator.DocComparator, FieldComparator.DoubleComparator, FieldComparator.FloatComparator, FieldComparator.IntComparator, FieldComparator.LongComparator, FieldComparator.RelevanceComparator, FieldComparator.ShortComparator, FieldComparator.StringComparatorLocale, FieldComparator.StringOrdValComparator, FieldComparator.StringValComparator| Constructor and Description |
|---|
StringOrdValComparator(int numHits,
java.lang.String field,
int sortPos,
boolean reversed) |
| 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 doc.
|
void |
copy(int slot,
int doc)
This method is called when a new hit is competitive.
|
int |
getBottomSlot() |
java.lang.String |
getField() |
java.lang.String[] |
getValues() |
void |
setBottom(int bottom)
Set the bottom slot, ie the "weakest" (sorted last)
entry in the queue.
|
void |
setNextReader(IndexReader reader,
int docBase)
Set a new Reader.
|
java.lang.Comparable |
value(int slot)
Return the actual value in the slot.
|
binarySearch, binarySearch, setScorerpublic StringOrdValComparator(int numHits,
java.lang.String field,
int sortPos,
boolean reversed)
public int compare(int slot1,
int slot2)
FieldComparatorcompare in class FieldComparatorslot1 - first slot to compareslot2 - second slot to comparepublic int compareBottom(int doc)
FieldComparatorFieldComparator.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 FieldComparatordoc - that was hitpublic void copy(int slot,
int doc)
FieldComparatorcopy in class FieldComparatorslot - which slot to copy the hit todoc - docID relative to current readerpublic void setNextReader(IndexReader reader, int docBase) throws java.io.IOException
FieldComparatorsetNextReader in class FieldComparatorreader - current readerdocBase - docBase of this readerjava.io.IOExceptionpublic void setBottom(int bottom)
FieldComparatorFieldComparator.compareBottom(int) is
called, you should compare against this slot. This
will always be called before FieldComparator.compareBottom(int).setBottom in class FieldComparatorbottom - the currently weakest (sorted last) slot in the queuepublic java.lang.Comparable value(int slot)
FieldComparatorvalue in class FieldComparatorslot - the valuepublic java.lang.String[] getValues()
public int getBottomSlot()
public java.lang.String getField()
Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.