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`

### Constructor Summary

Constructors
Constructor and 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

All Methods Instance Methods Concrete Methods
`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 Detail

#### 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 Detail

#### 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