@wtpltd

Как в Elasticsearch реализованы AND, OR, NOT?

Есть товары, которые сняты с производства и купить их можно только из существующих остатков. Для примера документ можно упростить до

```json
{
"archived": true,
"total": 10
}
```
Эластик 7.5 Как построить запрос, чтобы выбрать все товары, ктоме тех, у которых "archived": true AND "total": != 0? Где-то я не догоняю, как вложенностями Boolean Query правильно разруливать AND, OR, NOT.
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
ALiSHERBE
@ALiSHERBE
Middle Web Developer, Android Developer
Привет, по сути
should это или,
must это и.

[query] => Array
(
    [bool] => Array
        (
            [should] => Array
                (
                    [0] => Array
                        (
                            [bool] => Array
                                (
                                    [must] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [match] => Array
                                                        (
                                                            [values.attribute] => 15
                                                        )
                                                )
                                            [1] => Array
                                                (
                                                    [match] => Array
                                                        (
                                                            [values.value_string] => 64
                                                        )
                                                )
                                        )
                                )
                        )
                    [1] => Array
                        (
                            [bool] => Array
                                (
                                    [must] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [match] => Array
                                                        (
                                                            [values.attribute] => 15
                                                        )
                                                )
                                            [1] => Array
                                                (
                                                    [match] => Array
                                                        (
                                                            [values.value_string] => 32
                                                        )
                                                )
                                        )
                                )
                        )
                )
        )
)


Подробнее на stackoverflow
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы