Lift (Lucene 10.5.0 stempel API)
Description: declaration: package: org.egothor.stemmer, class: Lift

Package 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
  Description
  `Lift(boolean changeSkip)`
  Constructor for the Lift object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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 Details

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

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