Clarifies how query_string splits textual part (#28798)

* Clarifies how the query_string splits textual part to build a query

Whitespaces are not considered as operators anymore in 6x but the documentation is not clear about it.
This commit changes the example in the documentation and adds a note regarding whitespaces and operators.

Closes #28719
This commit is contained in:
Jim Ferenczi 2018-03-01 15:08:25 -08:00 committed by GitHub
parent 6fb8319ffc
commit 48a7425ae6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 2 deletions

View File

@ -28,14 +28,22 @@ GET /_search
"query": {
"query_string" : {
"default_field" : "content",
"query" : "field:new york AND city"
"query" : "(new york city) OR (big apple)"
}
}
}
--------------------------------------------------
// CONSOLE
... will be splitted in `new`, `york` and `city` and each part is analyzed independently.
... will be split into `new york city` and `big apple` and each part is then
analyzed independently by the analyzer configured for the field.
WARNING: Whitespaces are not considered operators, this means that `new york city`
will be passed "as is" to the analyzer configured for the field. If the field is a `keyword`
field the analyzer will create a single term `new york city` and the query builder will
use this term in the query. If you want to query each term separately you need to add explicit
operators around the terms (e.g. `new AND york AND city`).
When multiple fields are provided it is also possible to modify how the different
field queries are combined inside each textual part using the `type` parameter.
The possible modes are described <<multi-match-types, here>> and the default is `best_fields`.