Почему эластичный поисковый запрос с круглыми и без круглых скобок дает другой результат? - PullRequest
0 голосов
/ 08 мая 2019

У меня есть 2 ниже эластичного поискового запроса

Это дает 5 результатов

POST twitter/object/_search
{

 "_source": false,
 "query": {
   "query_string": {
     "query": "Apple AND Orange OR Banana",
     "default_field": "content"
    }
  }
}

Это дает 12 результатов

POST twitter/object/_search
{

 "_source": false,
 "query": {
   "query_string": {
     "query": "(Apple AND Orange) OR Banana",
     "default_field": "content"
    }
  }
}

Пожалуйста, помогите мне объяснить, почему это происходит.Как интерпретировать запрос, потому что логически оба запроса должны давать одинаковый результат?

1 Ответ

0 голосов
/ 08 мая 2019

С https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#_boolean_operators

Поддерживаются знакомые логические операторы И, ИЛИ и НЕ, но имейте в виду, что они не соблюдают обычные правила приоритета, поэтому круглые скобки следует использовать всякий раз, когда несколько операторов используются вместе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...