elasticsearch/docs/reference/query-languages/query-dsl-match-query-phrase.md
Colleen McGinnis b7e3a1e14b
[docs] Migrate docs from AsciiDoc to Markdown (#123507)
* delete asciidoc files

* add migrated files

* fix errors

* Disable docs tests

* Clarify release notes page titles

* Revert "Clarify release notes page titles"

This reverts commit 8be688648d.

* Comment out edternal URI images

* Clean up query languages landing pages, link to conceptual docs

* Add .md to url

* Fixes inference processor nesting.

---------

Co-authored-by: Liam Thompson <32779855+leemthompo@users.noreply.github.com>
Co-authored-by: Liam Thompson <leemthompo@gmail.com>
Co-authored-by: Martijn Laarman <Mpdreamz@gmail.com>
Co-authored-by: István Zoltán Szabó <szabosteve@gmail.com>
2025-02-27 17:56:14 +01:00

66 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
navigation_title: "Match phrase"
mapped_pages:
- https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase.html
---
# Match phrase query [query-dsl-match-query-phrase]
The `match_phrase` query analyzes the text and creates a `phrase` query out of the analyzed text. For example:
```console
GET /_search
{
"query": {
"match_phrase": {
"message": "this is a test"
}
}
}
```
## Parameters for `<field>` [match-phrase-field-params]
`query`
: (Required) Text, number, boolean value or date you wish to find in the provided `<field>`.
`analyzer`
: (Optional, string) [Analyzer](docs-content://manage-data/data-store/text-analysis.md) used to convert the text in the `query` value into tokens. Defaults to the [index-time analyzer](docs-content://manage-data/data-store/text-analysis/specify-an-analyzer.md#specify-index-time-analyzer) mapped for the `<field>`. If no analyzer is mapped, the indexs 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 [`match_all`](/reference/query-languages/query-dsl-match-all-query.md) 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.
### Analyzer in the match phrase query [query-dsl-match-query-phrase-analyzer]
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:
```console
GET /_search
{
"query": {
"match_phrase": {
"message": {
"query": "this is a test",
"analyzer": "my_analyzer"
}
}
}
}
```