public class

MultiPhraseQuery

extends Query
java.lang.Object
   ↳ org.apache.lucene.search.Query
     ↳ org.apache.lucene.search.MultiPhraseQuery

Class Overview

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.

Summary

Public Constructors
MultiPhraseQuery()
Public Methods
void add(Term term)
Add a single term at the next position in the phrase.
void add(Term[] terms, int position)
Allows to specify the relative position of terms within the phrase.
void add(Term[] terms)
Add multiple terms at the next position in the phrase.
Weight createWeight(Searcher searcher)
Expert: Constructs an appropriate Weight implementation for this query.
boolean equals(Object o)
Returns true if o is equal to this.
void extractTerms(Set<Term> terms)
Expert: adds all terms occurring in this query to the terms set.
int[] getPositions()
Returns the relative positions of terms in this phrase.
int getSlop()
Sets the phrase slop for this query.
List<Term[]> getTermArrays()
Returns a List of the terms in the multiphrase.
int hashCode()
Returns a hash code value for this object.
Query rewrite(IndexReader reader)
Expert: called to re-write queries into primitive queries.
void setSlop(int s)
Sets the phrase slop for this query.
final String toString(String f)
Prints a user-readable version of this query.
[Expand]
Inherited Methods
From class org.apache.lucene.search.Query
From class java.lang.Object

Public Constructors

public MultiPhraseQuery ()

Public Methods

public void add (Term term)

Add a single term at the next position in the phrase.

See Also

public void add (Term[] terms, int position)

Allows to specify the relative position of terms within the phrase.

See Also

public void add (Term[] terms)

Add multiple terms at the next position in the phrase. Any of the terms may match.

See Also

public Weight createWeight (Searcher searcher)

Expert: Constructs an appropriate Weight implementation for this query.

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

Throws
IOException

public boolean equals (Object o)

Returns true if o is equal to this.

public void extractTerms (Set<Term> terms)

Expert: adds all terms occurring in this query to the terms set. Only works if this query is in its rewritten form.

public int[] getPositions ()

Returns the relative positions of terms in this phrase.

public int getSlop ()

Sets the phrase slop for this query.

See Also

public List<Term[]> getTermArrays ()

Returns a List of the terms in the multiphrase. Do not modify the List or its contents.

public int hashCode ()

Returns a hash code value for this object.

public Query rewrite (IndexReader reader)

Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.

public void setSlop (int s)

Sets the phrase slop for this query.

See Also

public final String toString (String f)

Prints a user-readable version of this query.