org.egothor.stemmer

## Class Lift

- java.lang.Object
- - org.egothor.stemmer.Reduce
  - - org.egothor.stemmer.Lift

    public class Lift
    extends Reduce

The Lift class is a data structure that is a variation of a Patricia trie.

Lift's raison d'etre is to implement reduction of the trie via the Lift-Up method., which makes the data structure less liable to overstemming.

### Constructor Summary

Constructors
Constructor and Description
`Lift(boolean changeSkip)` Constructor for the Lift object.

### Method Summary

Methods
`void` `liftUp(Row in, List<Row> nodes)` Reduce the trie using Lift-Up reduction.
`Trie` `optimize(Trie orig)` Optimize (eliminate rows with no content) the given Trie and return the reduced Trie.

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

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

### Constructor Detail

#### Lift

    public Lift(boolean changeSkip)

Constructor for the Lift object.

Parameters:
  `changeSkip` - when set to `true`, comparison of two Cells takes a skip command into account

### Method Detail

#### optimize

    public Trie optimize(Trie orig)

Optimize (eliminate rows with no content) the given Trie and return the reduced Trie.

Overrides:
  `optimize` in class `Reduce`
Parameters:
  `orig` - the Trie to optimized
Returns:
  the reduced Trie

#### liftUp

    public void liftUp(Row in,
              List<Row> nodes)

Reduce the trie using Lift-Up reduction.

The Lift-Up reduction propagates all leaf-values (patch commands), where possible, to higher levels which are closer to the root of the trie.

Parameters:
  `in` - the Row to consider when optimizing
  `nodes` - contains the patch commands