Class BytesRefFieldComparatorSource
java.lang.Object
org.apache.lucene.search.FieldComparatorSource
org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource
org.elasticsearch.index.fielddata.fieldcomparator.BytesRefFieldComparatorSource
Comparator source for string/binary values.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource
IndexFieldData.XFieldComparatorSource.Nested
-
Field Summary
Fields inherited from class org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource
missingValue, nested, sortMode
-
Constructor Summary
ConstructorDescriptionBytesRefFieldComparatorSource(IndexFieldData<?> indexFieldData, Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested)
-
Method Summary
Modifier and TypeMethodDescriptionprotected SortedBinaryDocValues
getValues(org.apache.lucene.index.LeafReaderContext context)
missingValue(boolean reversed)
Return a missing value that is understandable bySortField.setMissingValue(Object)
.newBucketedSort(BigArrays bigArrays, SortOrder sortOrder, DocValueFormat format, int bucketSize, BucketedSort.ExtraData extra)
Create a BucketedSort which is useful for sorting inside of aggregations.org.apache.lucene.search.FieldComparator<?>
newComparator(String fieldname, int numHits, int sortPos, boolean reversed)
org.apache.lucene.search.SortField.Type
protected void
setScorer(org.apache.lucene.search.Scorable scorer)
Methods inherited from class org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource
missingObject, nested, sortMissingFirst, sortMissingLast, sortMode
-
Constructor Details
-
BytesRefFieldComparatorSource
public BytesRefFieldComparatorSource(IndexFieldData<?> indexFieldData, Object missingValue, MultiValueMode sortMode, IndexFieldData.XFieldComparatorSource.Nested nested)
-
-
Method Details
-
reducedType
public org.apache.lucene.search.SortField.Type reducedType()- Specified by:
reducedType
in classIndexFieldData.XFieldComparatorSource
-
missingValue
Description copied from class:IndexFieldData.XFieldComparatorSource
Return a missing value that is understandable bySortField.setMissingValue(Object)
. Most implementations return null because they already replace the value at the fielddata level. However this can't work in case of strings since there is no such thing as a string which compares greater than any other string, so in that case we need to returnSortField.STRING_FIRST
orSortField.STRING_LAST
so that the coordinating node knows how to deal with null values.- Overrides:
missingValue
in classIndexFieldData.XFieldComparatorSource
-
getValues
protected SortedBinaryDocValues getValues(org.apache.lucene.index.LeafReaderContext context) throws IOException- Throws:
IOException
-
setScorer
protected void setScorer(org.apache.lucene.search.Scorable scorer) -
newComparator
public org.apache.lucene.search.FieldComparator<?> newComparator(String fieldname, int numHits, int sortPos, boolean reversed)- Specified by:
newComparator
in classorg.apache.lucene.search.FieldComparatorSource
-
newBucketedSort
public BucketedSort newBucketedSort(BigArrays bigArrays, SortOrder sortOrder, DocValueFormat format, int bucketSize, BucketedSort.ExtraData extra)Description copied from class:IndexFieldData.XFieldComparatorSource
Create a BucketedSort which is useful for sorting inside of aggregations.- Specified by:
newBucketedSort
in classIndexFieldData.XFieldComparatorSource
-