Package org.apache.lucene.search
Class MultiPhraseQuery
java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.search.MultiPhraseQuery
A generalized version of
PhraseQuery
, 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 use MultiPhraseQuery.Builder.add(Term)
on the term
"microsoft" (assuming lowercase analysis), then find all terms that have "app" as prefix using
LeafReader.terms(String)
, seeking to "app" then iterating and collecting terms until
there is no longer that prefix, and finally use MultiPhraseQuery.Builder.add(Term[])
to add them. MultiPhraseQuery.Builder.build()
returns the fully constructed (and immutable) MultiPhraseQuery.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
A builder for multi-phrase queriesstatic class
Slower version of UnionPostingsEnum that delegates offsets and positions, for use by MatchesIteratorstatic class
Takes the logical union of multiple PostingsEnum iterators. -
Method Summary
Modifier and TypeMethodDescriptioncreateWeight
(IndexSearcher searcher, ScoreMode scoreMode, float boost) Expert: Constructs an appropriate Weight implementation for this query.boolean
Returns true ifo
is equal to this.int[]
Returns the relative positions of terms in this phrase.int
getSlop()
Sets the phrase slop for this query.Term[][]
Returns the arrays of arrays of terms in the multi-phrase.int
hashCode()
Returns a hash code value for this object.rewrite
(IndexReader reader) Expert: called to re-write queries into primitive queries.final String
Prints a user-readable version of this query.void
visit
(QueryVisitor visitor) Recurse through the query tree, visiting any child queriesMethods inherited from class org.apache.lucene.search.Query
classHash, sameClassAs, toString
-
Method Details
-
getSlop
public int getSlop()Sets the phrase slop for this query.- See Also:
-
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
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
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
-
toString
Prints a user-readable version of this query. -
equals
Returns true ifo
is equal to this. -
hashCode
public int hashCode()Returns a hash code value for this object.
-