Class 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"
    • 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

      • 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