org.apache.lucene.search.suggest.fst

## Class ExternalRefSorter

- java.lang.Object
- - org.apache.lucene.search.suggest.fst.ExternalRefSorter

- All Implemented Interfaces:
    Closeable, AutoCloseable, BytesRefSorter

      public class ExternalRefSorter
      extends Object
      implements BytesRefSorter, Closeable

  Builds and 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.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExternalRefSorter(OfflineSorter sorter)` Will buffer all sequences to a temporary file and then sort (all on-disk).

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(BytesRef utf8)` Adds a single suggestion entry (possibly compound with its bucket).
    `void` | `close()` Removes any written temporary files.
    `Comparator<BytesRef>` | `getComparator()` Comparator used to determine the sort order of entries.
    `BytesRefIterator` | `iterator()` Sorts the entries added in `BytesRefSorter.add(BytesRef)` and returns an iterator over all sorted entries.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ExternalRefSorter

          public ExternalRefSorter(OfflineSorter sorter)
                            throws IOException

      Will buffer all sequences to a temporary file and then sort (all on-disk).
      Throws:
        `IOException`

  - ### Method Detail

    - #### add

          public void add(BytesRef utf8)
                   throws IOException

      Description copied from interface: `BytesRefSorter`
      Adds a single suggestion entry (possibly compound with its bucket).
      Specified by:
        `add` in interface `BytesRefSorter`
      Throws:
        `IOException` - If an I/O exception occurs.

    - #### iterator

          public BytesRefIterator iterator()
                                    throws IOException

      Description copied from interface: `BytesRefSorter`
      Sorts the entries added in `BytesRefSorter.add(BytesRef)` and returns an iterator over all sorted entries.
      Specified by:
        `iterator` in interface `BytesRefSorter`
      Throws:
        `IOException` - If an I/O exception occurs.

    - #### close

          public void close()
                     throws IOException

      Removes any written temporary files.
      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Throws:
        `IOException`

    - #### getComparator

          public Comparator<BytesRef> getComparator()

      Description copied from interface: `BytesRefSorter`
      Comparator used to determine the sort order of entries.
      Specified by:
        `getComparator` in interface `BytesRefSorter`

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.