Class MultiPhraseQuery

java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.search.MultiPhraseQuery
All Implemented Interfaces:
Cloneable

public class MultiPhraseQuery extends Query
MultiPhraseQuery is a generalized version of PhraseQuery, with an added method add(Term[]). To use this class, to search for the phrase "Microsoft app*" first use add(Term) on the term "Microsoft", then find all terms that have "app" as prefix using IndexReader.terms(Term), and use MultiPhraseQuery.add(Term[] terms) to add them to the query.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(Term term)
    Add a single term at the next position in the phrase.
    void
    add(Term[] terms)
    Add multiple terms at the next position in the phrase.
    void
    add(Term[] terms, int position)
    Allows to specify the relative position of terms within the phrase.
    Expert: Constructs an appropriate Weight implementation for this query.
    boolean
    Returns true if o is equal to this.
    void
    Expert: adds all terms occurring in this query to the terms set.
    int[]
    Returns the relative positions of terms in this phrase.
    int
    Sets the phrase slop for this query.
    Returns a List of the terms in the multiphrase.
    int
    Returns a hash code value for this object.
    Expert: called to re-write queries into primitive queries.
    void
    setSlop(int s)
    Sets the phrase slop for this query.
    final String
    Prints a user-readable version of this query.

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

    clone, getBoost, setBoost, toString

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • MultiPhraseQuery

      public MultiPhraseQuery()
  • Method Details

    • setSlop

      public void setSlop(int s)
      Sets the phrase slop for this query.
      See Also:
    • getSlop

      public int getSlop()
      Sets the phrase slop for this query.
      See Also:
    • add

      public void add(Term term)
      Add a single term at the next position in the phrase.
      See Also:
    • add

      public void add(Term[] terms)
      Add multiple terms at the next position in the phrase. Any of the terms may match.
      See Also:
    • add

      public void add(Term[] terms, int position)
      Allows to specify the relative position of terms within the phrase.
      See Also:
    • getTermArrays

      public List<Term[]> getTermArrays()
      Returns a List of the terms in the multiphrase. Do not modify the List or its contents.
    • getPositions

      public int[] getPositions()
      Returns the relative positions of terms in this phrase.
    • extractTerms

      public void extractTerms(Set<Term> terms)
      Description copied from class: Query
      Expert: adds all terms occurring in this query to the terms set. Only works if this query is in its rewritten form.
      Overrides:
      extractTerms in class Query
    • rewrite

      public Query rewrite(IndexReader reader)
      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
    • createWeight

      public Weight createWeight(IndexSearcher searcher) throws IOException
      Description copied from class: Query
      Expert: Constructs an appropriate Weight implementation for this query.

      Only implemented by primitive queries, which re-write to themselves.

      Overrides:
      createWeight in class Query
      Throws:
      IOException
    • toString

      public final String toString(String f)
      Prints a user-readable version of this query.
      Specified by:
      toString in class Query
    • equals

      public boolean equals(Object o)
      Returns true if o is equal to this.
      Overrides:
      equals in class Query
    • hashCode

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