@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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 1 000 000 до 1 200 000 ₽
от 300 000 до 500 000 ₽
Сима-ленд Екатеринбург
от 120 000 до 250 000 ₽
24 апр. 2024, в 14:02
5000 руб./за проект
24 апр. 2024, в 13:45
15000 руб./за проект
24 апр. 2024, в 13:32
300 руб./за проект