mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-17 10:25:15 +00:00
Document simple_query_string negation with default_operator of OR
This can be confusing when unexpected. Resolves #4707
This commit is contained in:
parent
c35277e623
commit
66cf3d3220
@ -83,6 +83,30 @@ The `simple_query_string` supports the following special characters:
|
||||
In order to search for any of these special characters, they will need to
|
||||
be escaped with `\`.
|
||||
|
||||
Be aware that this syntax may have a different behavior depending on the
|
||||
`default_operator` value. For example, consider the following query:
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
GET /_search
|
||||
{
|
||||
"query": {
|
||||
"simple_query_string" : {
|
||||
"fields" : ["content"],
|
||||
"query" : "foo bar -baz"
|
||||
}
|
||||
}
|
||||
}
|
||||
--------------------------------------------------
|
||||
// CONSOLE
|
||||
|
||||
You may expect that documents containing only "foo" or "bar" will be returned,
|
||||
as long as they do not contain "baz", however, due to the `default_operator`
|
||||
being OR, this really means "match documents that contain "foo" or documents
|
||||
that contain "bar", or documents that don't contain "baz". If this is unintended
|
||||
then the query can be switched to `"foo bar +-baz"` which will not return
|
||||
documents that contain "baz".
|
||||
|
||||
[float]
|
||||
==== Default Field
|
||||
When not explicitly specifying the field to search on in the query
|
||||
|
Loading…
x
Reference in New Issue
Block a user