Class ExternalRefSorter
java.lang.Object
org.apache.lucene.search.suggest.fst.ExternalRefSorter
- All Implemented Interfaces:
Closeable,AutoCloseable,BytesRefSorter
An implementation of a
BytesRefSorter that allows appending BytesRefs to an
OfflineSorter and returns a Closeable ExternalRefSorter.ByteSequenceIterator that iterates
over sequences stored on disk.- WARNING: This API is experimental and might change in incompatible ways in the next release.
- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classIterates overBytesRefs in a file, closes the reader when the iterator is exhausted. -
Constructor Summary
ConstructorsConstructorDescriptionExternalRefSorter(OfflineSorter sorter) Will buffer all sequences to a temporary file and then sort (all on-disk). -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a single suggestion entry (possibly compound with its bucket).voidclose()Close the writer and remove any temporary files.Comparator used to determine the sort order of entries.iterator()Sorts the entries added inBytesRefSorter.add(BytesRef)and returns an iterator over all sorted entries.
-
Constructor Details
-
ExternalRefSorter
Will buffer all sequences to a temporary file and then sort (all on-disk).- Throws:
IOException
-
-
Method Details
-
add
Description copied from interface:BytesRefSorterAdds a single suggestion entry (possibly compound with its bucket).- Specified by:
addin interfaceBytesRefSorter- Throws:
IOException- If an I/O exception occurs.
-
iterator
Description copied from interface:BytesRefSorterSorts the entries added inBytesRefSorter.add(BytesRef)and returns an iterator over all sorted entries.- Specified by:
iteratorin interfaceBytesRefSorter- Returns:
- Returns a
ExternalRefSorter.ByteSequenceIteratorthat implementsBytesRefIteratorbut is alsoCloseable, ensuring any temporary resources are cleaned up if the iterator is either exhausted or closed. - Throws:
IOException- If an I/O exception occurs.
-
close
Close the writer and remove any temporary files.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
getComparator
Description copied from interface:BytesRefSorterComparator used to determine the sort order of entries.- Specified by:
getComparatorin interfaceBytesRefSorter- Returns:
- Return the
Comparatorof theOfflineSorterused to sort byte sequences.
-