Package org.apache.lucene.search
Class MultiPhraseQuery
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.lucene.search.MultiPhraseQuery
-
public class MultiPhraseQuery extends Query
A generalized version ofPhraseQuery
, with the possibility of adding more than one term at the same position that are treated as a disjunction (OR). To use this class to search for the phrase "Microsoft app*" first create a Builder and useMultiPhraseQuery.Builder.add(Term)
on the term "microsoft" (assuming lowercase analysis), then find all terms that have "app" as prefix usingLeafReader.terms(String)
, seeking to "app" then iterating and collecting terms until there is no longer that prefix, and finally useMultiPhraseQuery.Builder.add(Term[])
to add them.MultiPhraseQuery.Builder.build()
returns the fully constructed (and immutable) MultiPhraseQuery.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MultiPhraseQuery.Builder
A builder for multi-phrase queries
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Weight
createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)
Expert: Constructs an appropriate Weight implementation for this query.boolean
equals(Object other)
Returns true ifo
is equal to this.int[]
getPositions()
Returns the relative positions of terms in this phrase.int
getSlop()
Sets the phrase slop for this query.Term[][]
getTermArrays()
Returns the arrays of arrays of terms in the multi-phrase.int
hashCode()
Returns a hash code value for this object.Query
rewrite(IndexReader reader)
Expert: called to re-write queries into primitive queries.String
toString(String f)
Prints a user-readable version of this query.void
visit(QueryVisitor visitor)
Recurse through the query tree, visiting any child queries-
Methods inherited from class org.apache.lucene.search.Query
classHash, sameClassAs, toString
-
-
-
-
Method Detail
-
getSlop
public int getSlop()
Sets the phrase slop for this query.- See Also:
PhraseQuery.getSlop()
-
getTermArrays
public Term[][] getTermArrays()
Returns the arrays of arrays of terms in the multi-phrase. Do not modify!
-
getPositions
public int[] getPositions()
Returns the relative positions of terms in this phrase. Do not modify!
-
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 classQuery
- Throws:
IOException
-
visit
public void visit(QueryVisitor visitor)
Description copied from class:Query
Recurse through the query tree, visiting any child queries
-
createWeight
public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) 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 classQuery
scoreMode
- How the produced scorers will be consumed.boost
- The boost that is propagated by the parent queries.- Throws:
IOException
-
equals
public boolean equals(Object other)
Returns true ifo
is equal to this.- Specified by:
equals
in classQuery
- See Also:
Query.sameClassAs(Object)
,Query.classHash()
-
hashCode
public int hashCode()
Returns a hash code value for this object.- Specified by:
hashCode
in classQuery
- See Also:
Query.equals(Object)
-
-