mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-24 23:27:25 -04:00
(cherry picked from commit 8e9cccba6a
)
Co-authored-by: Damien RENIER <153135842+damien-renier-elastic@users.noreply.github.com>
78 lines
2 KiB
Text
78 lines
2 KiB
Text
[[query-dsl-match-query-phrase]]
|
|
=== Match phrase query
|
|
++++
|
|
<titleabbrev>Match phrase</titleabbrev>
|
|
++++
|
|
|
|
The `match_phrase` query analyzes the text and creates a `phrase` query
|
|
out of the analyzed text. For example:
|
|
|
|
[source,console]
|
|
--------------------------------------------------
|
|
GET /_search
|
|
{
|
|
"query": {
|
|
"match_phrase": {
|
|
"message": "this is a test"
|
|
}
|
|
}
|
|
}
|
|
--------------------------------------------------
|
|
|
|
[[match-phrase-field-params]]
|
|
==== Parameters for `<field>`
|
|
`query`::
|
|
+
|
|
--
|
|
(Required) Text, number, boolean value or date you wish to find in the provided
|
|
`<field>`.
|
|
--
|
|
|
|
`analyzer`::
|
|
(Optional, string) <<analysis,Analyzer>> used to convert the text in the `query`
|
|
value into tokens. Defaults to the <<specify-index-time-analyzer,index-time
|
|
analyzer>> mapped for the `<field>`. If no analyzer is mapped, the index's
|
|
default analyzer is used.
|
|
|
|
`slop`::
|
|
(Optional, integer) Maximum number of positions allowed between matching tokens.
|
|
Defaults to `0`. Transposed terms have a slop of `2`.
|
|
|
|
`zero_terms_query`::
|
|
+
|
|
--
|
|
(Optional, string) Indicates whether no documents are returned if the `analyzer`
|
|
removes all tokens, such as when using a `stop` filter. Valid values are:
|
|
|
|
`none` (Default)::
|
|
No documents are returned if the `analyzer` removes all tokens.
|
|
|
|
`all`::
|
|
Returns all documents, similar to a <<query-dsl-match-all-query,`match_all`>>
|
|
query.
|
|
--
|
|
|
|
A phrase query matches terms up to a configurable `slop`
|
|
(which defaults to 0) in any order. Transposed terms have a slop of 2.
|
|
|
|
[[query-dsl-match-query-phrase-analyzer]]
|
|
===== Analyzer in the match phrase query
|
|
|
|
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:
|
|
|
|
[source,console]
|
|
--------------------------------------------------
|
|
GET /_search
|
|
{
|
|
"query": {
|
|
"match_phrase": {
|
|
"message": {
|
|
"query": "this is a test",
|
|
"analyzer": "my_analyzer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
--------------------------------------------------
|