org.apache.lucene.search

## Class NGramPhraseQuery

- java.lang.Object
- - org.apache.lucene.search.Query
  - - org.apache.lucene.search.NGramPhraseQuery

-     public class NGramPhraseQuery
      extends Query

  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 Summary

    Constructors
    Constructor and Description
    `NGramPhraseQuery(int n, PhraseQuery query)` Constructor that takes gram size.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object other)` Override and implement query instance equivalence properly in a subclass.
    `int` | `getN()` Return the n in n-gram
    `int[]` | `getPositions()` Return the list of relative positions that each term should appear at.
    `Term[]` | `getTerms()` Return the list of terms.
    `int` | `hashCode()` Override and implement query hash code properly in a subclass.
    `Query` | `rewrite(IndexReader reader)` Expert: called to re-write queries into primitive queries.
    `String` | `toString(String field)` Prints a query to a string, with `field` assumed to be the default field and omitted.

    - ### Methods inherited from class org.apache.lucene.search.Query

      `classHash, createWeight, sameClassAs, toString`

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

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

- - ### Constructor Detail

    - #### NGramPhraseQuery

          public NGramPhraseQuery(int n,
                                  PhraseQuery query)

      Constructor that takes gram size.
      Parameters:
        `n` - n-gram size

  - ### Method Detail

    - #### rewrite

          public Query rewrite(IndexReader reader)
                        throws 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 `Query`
      Throws:
        `IOException`

    - #### equals

          public boolean equals(Object other)

      Description copied from class: `Query`
      Override and implement query instance equivalence properly in a subclass. This is required so that `QueryCache` works properly. Typically a query will be equal to another only if it's an instance of the same class and its document-filtering properties are identical that other instance. Utility methods are provided for certain repetitive code.
      Specified by:
        `equals` in class `Query`
      See Also:
        `Query.sameClassAs(Object)`, `Query.classHash()`

    - #### hashCode

          public int hashCode()

      Description copied from class: `Query`
      Override and implement query hash code properly in a subclass. This is required so that `QueryCache` works properly.
      Specified by:
        `hashCode` in class `Query`
      See Also:
        `Query.equals(Object)`

    - #### getN

          public int getN()

      Return the n in n-gram

    - #### getTerms

          public Term[] getTerms()

      Return the list of terms.

    - #### getPositions

          public int[] getPositions()

      Return the list of relative positions that each term should appear at.

    - #### toString

          public String toString(String field)

      Description copied from class: `Query`
      Prints a query to a string, with `field` assumed to be the default field and omitted.
      Specified by:
        `toString` in class `Query`

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