Provides index sorting capablities. The application can use any Sort specification, e.g. to sort by fields using DocValues or FieldCache, or to reverse the order of the documents (by using SortField.Type.DOC in reverse). Multi-level sorts can be specified the same way you would when searching, by building Sort from multiple SortFields.

{@link org.apache.lucene.index.sorter.SortingMergePolicy} can be used to make Lucene sort segments before merging them. This will ensure that every segment resulting from a merge will be sorted according to the provided {@link org.apache.lucene.search.Sort}. This however makes merging and thus indexing slower.

Sorted segments allow for early query termination when the sort order matches index order. This makes query execution faster since not all documents need to be visited. Please note that this is an expert feature and should not be used without a deep understanding of Lucene merging and document collection.