Interface PositionIncrementAttribute

All Superinterfaces:
Attribute
All Known Implementing Classes:
PackedTokenAttributeImpl, PositionIncrementAttributeImpl

public interface PositionIncrementAttribute extends Attribute
Determines the position of this token relative to the previous Token in a TokenStream, used in phrase searching.

The default value is one.

Some common uses for this are:

  • Set it to zero to put multiple terms in the same position. This is useful if, e.g., a word has multiple stems. Searches for phrases including either stem will match. In this case, all but the first stem's increment should be set to zero: the increment of the first instance should be one. Repeating a token with an increment of zero can also be used to boost the scores of matches on that token.
  • Set it to values greater than one to inhibit exact phrase matches. If, for example, one does not want phrases to match across removed stop words, then one could build a stop word filter that removes stop words and also sets the increment to the number of stop words removed before each non-stop word. Then exact phrase queries will only match when the terms occur with no intervening stop words.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Returns the position increment of this Token.
    void
    setPositionIncrement(int positionIncrement)
    Set the position increment.
  • Method Details

    • setPositionIncrement

      void setPositionIncrement(int positionIncrement)
      Set the position increment. The default value is one.
      Parameters:
      positionIncrement - the distance from the prior term
      Throws:
      IllegalArgumentException - if positionIncrement is negative.
      See Also:
    • getPositionIncrement

      int getPositionIncrement()
      Returns the position increment of this Token.
      See Also: