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