Match Phrase Query
The input text is analyzed, and a phrase query is built with the terms resulting from the analysis. This type of query searches for terms in the target that occur in the positions and offsets indicated by the input: this depends on term vectors, which must have been included in the creation of the index used for the search.
For example, a match phrase query for location for functions
is matched with locate the function
, if the standard analyzer is used: this analyzer uses a stemmer, which tokenizes location
and locate
to locat
, and reduces functions
and function
to function
.
Additionally, the analyzer employs stop removal, which removes small and less significant words from input and target text, so that matches are attempted on only the more significant elements of vocabulary: in this case for
and the
are removed.
Following this processing, the tokens locat
and function
are recognized as common to both input and target; and also as being both in the same sequence as, and at the same distance from one another; and therefore a match is made.
Example
The following JSON object demonstrates specification of a match phrase query:
{
"match_phrase": "very nice",
"field": "reviews.content"
}
A demonstration of the match phrase query using the Java SDK can be found in Searching from the SDK.