Class NGramPhraseQuery

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class NGramPhraseQuery
    extends PhraseQuery
    This is a PhraseQuery which is optimized for n-gram phrase query. For example, when you query "ABCD" on a 2-gram field, you may want to use NGramPhraseQuery rather than PhraseQuery, because NGramPhraseQuery will rewrite(IndexReader) the query to "AB/0 CD/2", while PhraseQuery will query "AB/0 BC/1 CD/2" (where term/position).
    • Constructor Detail

      • NGramPhraseQuery

        public NGramPhraseQuery​(int n)
        Constructor that takes gram size.
        Parameters:
        n - n-gram size
    • Method Detail

      • rewrite

        public Query rewrite​(IndexReader reader)
                      throws java.io.IOException
        Description copied from class: Query
        Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.
        Overrides:
        rewrite in class PhraseQuery
        Throws:
        java.io.IOException
      • equals

        public boolean equals​(java.lang.Object o)
        Returns true iff o is equal to this.
        Overrides:
        equals in class PhraseQuery
      • hashCode

        public int hashCode()
        Returns a hash code value for this object.
        Overrides:
        hashCode in class PhraseQuery