org.apache.lucene.analysis.commongrams

## Class CommonGramsQueryFilter

- java.lang.Object
- - org.apache.lucene.util.AttributeSource
  - - org.apache.lucene.analysis.TokenStream
    - - org.apache.lucene.analysis.TokenFilter
      - - org.apache.lucene.analysis.commongrams.CommonGramsQueryFilter

- All Implemented Interfaces:
    Closeable, AutoCloseable

      public final class CommonGramsQueryFilter
      extends TokenFilter

  Wrap a CommonGramsFilter optimizing phrase queries by only returning single words when they are not a member of a bigram. Example:
  - query input to CommonGramsFilter: "the rain in spain falls mainly"
  - output of CommomGramsFilter/input to CommonGramsQueryFilter: |"the, "the-rain"|"rain" "rain-in"|"in, "in-spain"|"spain"|"falls"|"mainly"
  - output of CommonGramsQueryFilter:"the-rain", "rain-in" ,"in-spain", "falls", "mainly"

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeSource

      `AttributeSource.State`

  - ### Field Summary

    - ### Fields inherited from class org.apache.lucene.analysis.TokenFilter

      `input`

    - ### Fields inherited from class org.apache.lucene.analysis.TokenStream

      `DEFAULT_TOKEN_ATTRIBUTE_FACTORY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CommonGramsQueryFilter(CommonGramsFilter input)` Constructs a new CommonGramsQueryFilter based on the provided CommomGramsFilter

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `incrementToken()` Output bigrams whenever possible to optimize queries.
    `boolean` | `isGramType()` Convenience method to check if the current type is a gram type
    `void` | `reset()`

    - ### Methods inherited from class org.apache.lucene.analysis.TokenFilter

      `close, end`

    - ### Methods inherited from class org.apache.lucene.util.AttributeSource

      `addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, endAttributes, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, removeAllAttributes, restoreState, toString`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### CommonGramsQueryFilter

          public CommonGramsQueryFilter(CommonGramsFilter input)

      Constructs a new CommonGramsQueryFilter based on the provided CommomGramsFilter
      Parameters:
        `input` - CommonGramsFilter the QueryFilter will use

  - ### Method Detail

    - #### reset

          public void reset()
                     throws IOException

      Overrides:
        `reset` in class `TokenFilter`
      Throws:
        `IOException`

    - #### incrementToken

          public boolean incrementToken()
                                 throws IOException

      Output bigrams whenever possible to optimize queries. Only output unigrams when they are not a member of a bigram. Example:
      - input: "the rain in spain falls mainly"
      - output:"the-rain", "rain-in" ,"in-spain", "falls", "mainly"
      Specified by:
        `incrementToken` in class `TokenStream`
      Throws:
        `IOException`

    - #### isGramType

          public boolean isGramType()

      Convenience method to check if the current type is a gram type
      Returns:
        `true` if the current type is a gram type, `false` otherwise

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.