Skip to content

Commit

Permalink
Clarifies how query_string splits textual part (#28798)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
jimczi committed Mar 1, 2018
1 parent efac428 commit 2204383
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions docs/reference/query-dsl/query-string-query.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -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`.
Expand Down

0 comments on commit 2204383

Please sign in to comment.