# Не могу составить запрос типа (name=aaa AND type=2) OR (name=bbb AND type=3)

**URL:** <https://discuss.elastic.co/t/name-aaa-and-type-2-or-name-bbb-and-type-3/75372>\
**Category:** Вопросы на русском языке\
**Created:** [February 16, 2017, 4:21pm UTC](https://discuss.elastic.co/t/name-aaa-and-type-2-or-name-bbb-and-type-3/75372 "2017-02-16T16:21:43Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pashkevich\_Aleksandr](https://avatars.discourse-cdn.com/v4/letter/p/a4c791/32.png) [@Pashkevich\_Aleksandr](https://discuss.elastic.co/u/Pashkevich_Aleksandr)\
**Post date:** [February 16, 2017, 4:21pm UTC](https://discuss.elastic.co/t/name-aaa-and-type-2-or-name-bbb-and-type-3/75372/1 "2017-02-16T16:21:43Z")

</div>

Здравствуйте, долго мучался с bool запроса так и не смогу составить запрос типа (name=aaa AND type=2) OR (name=bbb AND type=3)  
По памяти вспомнил, что тестировал вот такие запросы, по факту ещё несколько запросов было.

```
"query": { 
"bool": { 
  "must": [
    { "match": { "name": "aaaa"}}, 
    { "match": { "type": 2 }}  
  ],
    [
    { "match": { "name": "bbbb"}}, 
    { "match": { "type": 3 }}  
  ]
}}

"query": { 
    "bool": { 
      "must": [
        { "match": { "name": "aaaa"}}, 
        { "match": { "type": 2 }}  
      ],
      "must": [
        { "match": { "name": "bbbb"}}, 
        { "match": { "type": 3 }}  
      ]
    }}
```

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [February 16, 2017, 4:50pm UTC](https://discuss.elastic.co/t/name-aaa-and-type-2-or-name-bbb-and-type-3/75372/2 "2017-02-16T16:50:47Z")

</div>

```auto
"query": { 
    "bool": { 
      "should": [{ 
        "bool": {
          "must": [
            { "match": { "name": "aaaa"}}, 
            { "match": { "type": 2 }}  
          ]
        }
      }, {
        "bool": {
          "must": [
            { "match": { "name": "bbbb"}}, 
            { "match": { "type": 3 }}  
          ]
        }
      }]
    }
  }
}

```

---

<div class="post-metadata">

**Author:** ![Pashkevich\_Aleksandr](https://avatars.discourse-cdn.com/v4/letter/p/a4c791/32.png) [@Pashkevich\_Aleksandr](https://discuss.elastic.co/u/Pashkevich_Aleksandr)\
**Post date:** [February 16, 2017, 5:00pm UTC](https://discuss.elastic.co/t/name-aaa-and-type-2-or-name-bbb-and-type-3/75372/3 "2017-02-16T17:00:25Z")

</div>

Большое спасибо, за помощь

Я в своих догадках был близок, к моменту прихода ответа был вот с этой версией запроса. Оставалось додуматься до того что бы обернуть в bool

```
"query": {  
				"bool": { 
				"should": [{
						"must": [
							{ "match": { "name": "aaa" }}, 
							{ "match": { "type": "2" }}  
						]},
						{"must": [
							{ "match": { "name": "bbbb" }}, 
							{ "match": { "type": "3" }}  
						]}
						]

						}
			
					}
```

---

<div class="post-metadata">

**Author:** ![whispersofdew](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/whispersofdew/32/11067_2.png) [@whispersofdew](https://discuss.elastic.co/u/whispersofdew)\
**Post date:** [March 9, 2017, 11:58am UTC](https://discuss.elastic.co/t/name-aaa-and-type-2-or-name-bbb-and-type-3/75372/4 "2017-03-09T11:58:03Z")

</div>

Подскажите, пожалуйста, если я хочу в поисковой строке поддерживать символы типа "OR" (или можно "||") - мне надо писать свои обработчики, которые будут разбивать запрос и передавать в elastic в подготовленном виде, или есть служебные символы из коробки?

---

<div class="post-metadata">

**Author:** ![Pashkevich\_Aleksandr](https://avatars.discourse-cdn.com/v4/letter/p/a4c791/32.png) [@Pashkevich\_Aleksandr](https://discuss.elastic.co/u/Pashkevich_Aleksandr)\
**Post date:** [March 9, 2017, 12:10pm UTC](https://discuss.elastic.co/t/name-aaa-and-type-2-or-name-bbb-and-type-3/75372/5 "2017-03-09T12:10:46Z")

</div>

Я писал свои скрипт который разбивает. Но у меня поиск всего по двум term, так что разбивка не очень сложная. Служебных символов я не знаю.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [March 9, 2017, 12:59pm UTC](https://discuss.elastic.co/t/name-aaa-and-type-2-or-name-bbb-and-type-3/75372/6 "2017-03-09T12:59:54Z")

</div>

Есть запросы [`simple_query_string`](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-simple-query-string-query.html#_simple_query_string_syntax) и [`query_string`](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-query-string-query.html#query-string-syntax).

---

<div class="post-metadata">

**Author:** ![whispersofdew](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/whispersofdew/32/11067_2.png) [@whispersofdew](https://discuss.elastic.co/u/whispersofdew)\
**Post date:** [March 9, 2017, 1:02pm UTC](https://discuss.elastic.co/t/name-aaa-and-type-2-or-name-bbb-and-type-3/75372/7 "2017-03-09T13:02:04Z")

</div>

Спасибо!!!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [April 6, 2017, 1:02pm UTC](https://discuss.elastic.co/t/name-aaa-and-type-2-or-name-bbb-and-type-3/75372/8 "2017-04-06T13:02:11Z")

</div>

Closed on April 6, 2017, 1:02pm UTC

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
