org.apache.lucene.search
public class PhraseQuery extends Query
"new york"
.
This query may be combined with other terms or queries with a BooleanQuery.
Constructor Summary | |
---|---|
PhraseQuery() Constructs an empty phrase query. |
Method Summary | |
---|---|
void | add(Term term)
Adds a term to the end of the query phrase.
|
void | add(Term term, int position)
Adds a term to the end of the query phrase.
|
protected Weight | createWeight(Searcher searcher) |
boolean | equals(Object o) Returns true iff o is equal to this. |
void | extractTerms(Set queryTerms) |
int[] | getPositions()
Returns the relative positions of terms in this phrase. |
int | getSlop() Returns the slop. |
Term[] | getTerms() Returns the set of terms in this phrase. |
int | hashCode() Returns a hash code value for this object. |
void | setSlop(int s) Sets the number of other words permitted between words in query phrase.
|
String | toString(String f) Prints a user-readable version of this query. |
Parameters: term position
o
is equal to this.See Also: extractTerms
WITHIN
or NEAR
operator.
The slop is in fact an edit-distance, where the units correspond to moves of terms in the query phrase out of position. For example, to switch the order of two words requires two moves (the first move places the words atop one another), so to permit re-orderings of phrases, the slop must be at least two.
More exact matches are scored higher than sloppier matches, thus search results are sorted by exactness.
The slop is zero by default, requiring exact matches.