Match phrase query
The match_phrase query analyzes the text and creates a phrase query out of the analyzed text. For example:
GET /_search
{
"query": {
"match_phrase": {
"message": "this is a test"
}
}
}
query- (Required) Text, number, boolean value or date you wish to find in the provided
<field>. analyzer- (Optional, string) Analyzer used to convert the text in the
queryvalue into tokens. Defaults to the index-time analyzer mapped for the<field>. If no analyzer is mapped, the index’s default analyzer is used. boost- (Optional, float) Floating point number used to decrease or increase the relevance scores of the query. Defaults to
1.0. Boost values are relative to the default value of1.0. A boost value between0and1.0decreases the relevance score. A value greater than1.0increases the relevance score. slop- (Optional, integer) Maximum number of positions allowed between matching tokens. Defaults to
0. Transposed terms have a slop of2. zero_terms_query-
(Optional, string) Indicates whether no documents are returned if the
analyzerremoves all tokens, such as when using astopfilter. Valid values are:none(Default) No documents are returned if theanalyzerremoves all tokens.allReturns all documents, similar to amatch_allquery.
A phrase query matches terms up to a configurable slop (which defaults to 0) in any order. Transposed terms have a slop of 2.
The analyzer can be set to control which analyzer will perform the analysis process on the text. It defaults to the field explicit mapping definition, or the default search analyzer, for example:
GET /_search
{
"query": {
"match_phrase": {
"message": {
"query": "this is a test",
"analyzer": "my_analyzer"
}
}
}
}