Class IndexSortConfig

java.lang.Object
org.elasticsearch.index.IndexSortConfig

public final class IndexSortConfig extends 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 of SortOrder 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 Details

  • Constructor Details

    • IndexSortConfig

      public IndexSortConfig(IndexSettings indexSettings)
  • Method Details

    • hasIndexSort

      public boolean hasIndexSort()
      Returns true if the index should be sorted
    • hasPrimarySortOnField

      public boolean hasPrimarySortOnField(String field)
    • buildIndexSort

      public org.apache.lucene.search.Sort buildIndexSort(Function<String,MappedFieldType> fieldTypeLookup, BiFunction<MappedFieldType,Supplier<SearchLookup>,IndexFieldData<?>> fieldDataLookup)
      Builds the Sort order from the settings for this index or returns null if this index has no sort.
    • hasSortOnField

      public boolean hasSortOnField(String fieldName)
    • getSortFieldType

      public static org.apache.lucene.search.SortField.Type getSortFieldType(org.apache.lucene.search.SortField sortField)