public class PhraseQuery extends Query
"new york".
 
 This query may be combined with other terms or queries with a BooleanQuery.
 
NOTE:
 All terms in the phrase must match, even those at the same position. If you
 have terms at the same position, perhaps synonyms, you probably want MultiPhraseQuery
 instead which only requires one term at a position to match.
 
Also, Leading holes don't have any particular meaning for this query
 and will be ignored. For instance this query:
 
 PhraseQuery.Builder builder = new PhraseQuery.Builder();
 builder.add(new Term("body", "one"), 4);
 builder.add(new Term("body", "two"), 5);
 PhraseQuery pq = builder.build();
 
 is equivalent to the below query:
 
 PhraseQuery.Builder builder = new PhraseQuery.Builder();
 builder.add(new Term("body", "one"), 0);
 builder.add(new Term("body", "two"), 1);
 PhraseQuery pq = builder.build();
 | Modifier and Type | Class and Description | 
|---|---|
| static class  | PhraseQuery.BuilderA builder for phrase queries. | 
| Constructor and Description | 
|---|
| PhraseQuery()Deprecated. 
 Use the  PhraseQuery.Builderclass to build phrase queries. | 
| PhraseQuery(int slop,
           String field,
           BytesRef... terms)Create a phrase query which will match documents that contain the given
 list of terms at consecutive positions in  field, and at a
 maximum edit distance ofslop. | 
| PhraseQuery(int slop,
           String field,
           String... terms)Create a phrase query which will match documents that contain the given
 list of terms at consecutive positions in  field, and at a
 maximum edit distance ofslop. | 
| PhraseQuery(String field,
           BytesRef... terms)Create a phrase query which will match documents that contain the given
 list of terms at consecutive positions in  field. | 
| PhraseQuery(String field,
           String... terms)Create a phrase query which will match documents that contain the given
 list of terms at consecutive positions in  field. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | add(Term term)Deprecated. 
 Phrase queries should be created once with  PhraseQuery.Builderand then considered immutable. SeePhraseQuery.Builder.add(Term). | 
| void | add(Term term,
   int position)Deprecated. 
 Phrase queries should be created once with  PhraseQuery.Builderand then considered immutable. SeePhraseQuery.Builder.add(Term, int). | 
| Weight | createWeight(IndexSearcher searcher,
            boolean needsScores)Expert: Constructs an appropriate Weight implementation for this query. | 
| boolean | equals(Object o)Returns true iff  ois equal to this. | 
| int[] | getPositions()Returns the relative positions of terms in this phrase. | 
| int | getSlop()Return the slop for this  PhraseQuery. | 
| Term[] | getTerms()Returns the list of terms in this phrase. | 
| 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)Deprecated. 
 Phrase queries should be created once with  PhraseQuery.Builderand then considered immutable. SeePhraseQuery.Builder.setSlop(int). | 
| String | toString(String f)Prints a user-readable version of this query. | 
public PhraseQuery(int slop,
           String field,
           String... terms)
field, and at a
 maximum edit distance of slop. For more complicated use-cases,
 use PhraseQuery.Builder.getSlop()public PhraseQuery(String field, String... terms)
field.public PhraseQuery(int slop,
           String field,
           BytesRef... terms)
field, and at a
 maximum edit distance of slop. For more complicated use-cases,
 use PhraseQuery.Builder.getSlop()public PhraseQuery(String field, BytesRef... terms)
field.@Deprecated public PhraseQuery()
PhraseQuery.Builder class to build phrase queries.public int getSlop()
PhraseQuery.
 The slop is an edit distance between respective positions of terms as
 defined in this PhraseQuery and the positions of terms in a
 document.
 
For instance, when searching for "quick fox", it is expected that
 the difference between the positions of fox and quick is 1.
 So "a quick brown fox" would be at an edit distance of 1 since the
 difference of the positions of fox and quick is 2.
 Similarly, "the fox is quick" would be at an edit distance of 3
 since the difference of the positions of fox and quick is -2.
 The slop defines the maximum edit distance for a document to match.
 
More exact matches are scored higher than sloppier matches, thus search results are sorted by exactness.
public Term[] getTerms()
public int[] getPositions()
public Query rewrite(IndexReader reader) throws IOException
Queryrewrite in class QueryIOExceptionpublic Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException
QueryOnly implemented by primitive queries, which re-write to themselves.
createWeight in class QueryneedsScores - True if document scores (Scorer.score()) or match
                      frequencies (Scorer.freq()) are needed.IOExceptionpublic boolean equals(Object o)
o is equal to this.public int hashCode()
@Deprecated public void setSlop(int s)
PhraseQuery.Builder
             and then considered immutable. See PhraseQuery.Builder.setSlop(int).getSlop()@Deprecated public void add(Term term)
PhraseQuery.Builder
             and then considered immutable. See PhraseQuery.Builder.add(Term).@Deprecated public void add(Term term, int position)
PhraseQuery.Builder
             and then considered immutable. See PhraseQuery.Builder.add(Term, int).Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.