Skip to content

Commit

Permalink
Clarifies how the query_string splits textual part to build a query
Browse files Browse the repository at this point in the history
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 elastic#28719
  • Loading branch information
jimczi committed Feb 23, 2018
1 parent cd3d9c9 commit 39a9251
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 splitted in `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 as operators, this means that `new york city`
will be pass "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 39a9251

Please sign in to comment.