Package org.apache.lucene.search.suggest.tst

# Class TSTLookup

java.lang.Object
org.apache.lucene.search.suggest.Lookup
org.apache.lucene.search.suggest.tst.TSTLookup

All Implemented Interfaces:
  `Accountable`

public class TSTLookup extends Lookup
Suggest implementation based on a Ternary Search Tree

See Also:
  - `TSTAutocomplete`

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.apache.lucene.search.suggest.Lookup

  `Lookup.LookupPriorityQueue, Lookup.LookupResult`

- ## Field Summary

  ### Fields inherited from class org.apache.lucene.search.suggest.Lookup

  `CHARSEQUENCE_COMPARATOR`

  ### Fields inherited from interface org.apache.lucene.util.Accountable

  `NULL_ACCOUNTABLE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TSTLookup()`
  Creates a new TSTLookup with an empty Ternary Search Tree.
  `TSTLookup(Directory tempDir, String tempFileNamePrefix)`
  Creates a new TSTLookup, for building.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `add(CharSequence key, Object value)`
  Adds a new node if `key` already exists, otherwise replaces its value.
  `void`
  `build(InputIterator iterator)`
  Builds up a new internal `Lookup` representation based on the given `InputIterator`.
  `Object`
  `get(CharSequence key)`
  Returns the value for the specified key, or null if the key does not exist.
  `long`
  `getCount()`
  Get the number of entries the lookup was built with
  `boolean`
  `load(DataInput input)`
  Discard current lookup data and load it from a previously saved copy.
  `List<Lookup.LookupResult>`
  `lookup(CharSequence key, Set<BytesRef> contexts, boolean onlyMorePopular, int num)`
  Look up a key and return possible completion for this key.
  `long`
  `ramBytesUsed()`
  Returns byte size of the underlying TST
  `boolean`
  `store(DataOutput output)`
  Persist the constructed lookup data to a directory.

  ### Methods inherited from class org.apache.lucene.search.suggest.Lookup

  `build, load, lookup, lookup, store`

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

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

  ### Methods inherited from interface org.apache.lucene.util.Accountable

  `getChildResources`

- ## Constructor Details

  - ### TSTLookup

    public TSTLookup()
    Creates a new TSTLookup with an empty Ternary Search Tree.
    See Also:
      - `build(InputIterator)`

  - ### TSTLookup

    public TSTLookup(Directory tempDir, String tempFileNamePrefix)
    Creates a new TSTLookup, for building.
    See Also:
      - `build(InputIterator)`

- ## Method Details

  - ### build

    public void build(InputIterator iterator) throws IOException
    Description copied from class: `Lookup`
    Builds up a new internal `Lookup` representation based on the given `InputIterator`. The implementation might re-sort the data internally.
    Specified by:
      `build` in class `Lookup`
    Throws:
      `IOException`

  - ### add

    public boolean add(CharSequence key, Object value)
    Adds a new node if `key` already exists, otherwise replaces its value.

    This method always returns true.

  - ### get

    public Object get(CharSequence key)
    Returns the value for the specified key, or null if the key does not exist.

  - ### lookup

    public List<Lookup.LookupResult> lookup(CharSequence key, Set<BytesRef> contexts, boolean onlyMorePopular, int num)
    Description copied from class: `Lookup`
    Look up a key and return possible completion for this key.
    Specified by:
      `lookup` in class `Lookup`
    Parameters:
      `key` - lookup key. Depending on the implementation this may be a prefix, misspelling, or even infix.
      `contexts` - contexts to filter the lookup by, or null if all contexts are allowed; if the suggestion contains any of the contexts, it's a match
      `onlyMorePopular` - return only more popular results
      `num` - maximum number of results to return
    Returns:
      a list of possible completions, with their relative weight (e.g. popularity)

  - ### store

    public boolean store(DataOutput output) throws IOException
    Description copied from class: `Lookup`
    Persist the constructed lookup data to a directory. Optional operation.
    Specified by:
      `store` in class `Lookup`
    Parameters:
      `output` - `DataOutput` to write the data to.
    Returns:
      true if successful, false if unsuccessful or not supported.
    Throws:
      `IOException` - when fatal IO error occurs.

  - ### load

    public boolean load(DataInput input) throws IOException
    Description copied from class: `Lookup`
    Discard current lookup data and load it from a previously saved copy. Optional operation.
    Specified by:
      `load` in class `Lookup`
    Parameters:
      `input` - the `DataInput` to load the lookup data.
    Returns:
      true if completed successfully, false if unsuccessful or not supported.
    Throws:
      `IOException` - when fatal IO error occurs.

  - ### ramBytesUsed

    public long ramBytesUsed()
    Returns byte size of the underlying TST

  - ### getCount

    public long getCount()
    Description copied from class: `Lookup`
    Get the number of entries the lookup was built with
    Specified by:
      `getCount` in class `Lookup`
    Returns:
      total number of suggester entries