Package org.elasticsearch.index
Class IndexSortConfig
- java.lang.Object
-
- org.elasticsearch.index.IndexSortConfig
-
public final class IndexSortConfig extends java.lang.Object
Holds all the information that is used to build the sort order of an index. The index sort settings are final and can be defined only at index creation. These settings are divided in four lists that are merged during the initialization of this class:- `index.sort.field`: the field or a list of field to use for the sort
- `index.sort.order` the
SortOrder
to use for the field or a list ofSortOrder
for each field defined in `index.sort.field`. - `index.sort.mode`: the
MultiValueMode
to use for the field or a list of orders for each field defined in `index.sort.field`. - `index.sort.missing`: the missing value to use for the field or a list of missing values for each field defined in `index.sort.field`
-
-
Field Summary
Fields Modifier and Type Field Description static Setting<java.util.List<java.lang.String>>
INDEX_SORT_FIELD_SETTING
The list of field namesstatic Setting<java.util.List<java.lang.String>>
INDEX_SORT_MISSING_SETTING
The missing value for each specified sort field (ie.static Setting<java.util.List<MultiValueMode>>
INDEX_SORT_MODE_SETTING
TheMultiValueMode
for each specified sort field (ie.static Setting<java.util.List<SortOrder>>
INDEX_SORT_ORDER_SETTING
TheSortOrder
for each specified sort field (ie.
-
Constructor Summary
Constructors Constructor Description IndexSortConfig(IndexSettings indexSettings)
-
Method Summary
Modifier and Type Method Description org.apache.lucene.search.Sort
buildIndexSort(java.util.function.Function<java.lang.String,MappedFieldType> fieldTypeLookup, java.util.function.Function<MappedFieldType,IndexFieldData<?>> fieldDataLookup)
Builds theSort
order from the settings for this index or returns null if this index has no sort.static org.apache.lucene.search.SortField.Type
getSortFieldType(org.apache.lucene.search.SortField sortField)
boolean
hasIndexSort()
Returns true if the index should be sorted
-
-
-
Field Detail
-
INDEX_SORT_FIELD_SETTING
public static final Setting<java.util.List<java.lang.String>> INDEX_SORT_FIELD_SETTING
The list of field names
-
INDEX_SORT_ORDER_SETTING
public static final Setting<java.util.List<SortOrder>> INDEX_SORT_ORDER_SETTING
TheSortOrder
for each specified sort field (ie. asc or desc).
-
INDEX_SORT_MODE_SETTING
public static final Setting<java.util.List<MultiValueMode>> INDEX_SORT_MODE_SETTING
TheMultiValueMode
for each specified sort field (ie. max or min).
-
INDEX_SORT_MISSING_SETTING
public static final Setting<java.util.List<java.lang.String>> INDEX_SORT_MISSING_SETTING
The missing value for each specified sort field (ie. _first or _last)
-
-
Constructor Detail
-
IndexSortConfig
public IndexSortConfig(IndexSettings indexSettings)
-
-
Method Detail
-
hasIndexSort
public boolean hasIndexSort()
Returns true if the index should be sorted
-
buildIndexSort
public org.apache.lucene.search.Sort buildIndexSort(java.util.function.Function<java.lang.String,MappedFieldType> fieldTypeLookup, java.util.function.Function<MappedFieldType,IndexFieldData<?>> fieldDataLookup)
Builds theSort
order from the settings for this index or returns null if this index has no sort.
-
getSortFieldType
public static org.apache.lucene.search.SortField.Type getSortFieldType(org.apache.lucene.search.SortField sortField)
-
-