Конструктор запросов Elasticsearch
Преобразуйте список условий поле/оператор/значение в полный bool-запрос Elasticsearch с фильтрами и агрегациями.
Конструктор запросов Elasticsearch
Вставьте список условий, и этот инструмент создаст полный запрос поиска Elasticsearch: bool-запрос с ветвями must, should, must_not и filter, плюс сортировка, пагинация и опциональная агрегация. Подходит для всех, кто вручную пишет запросы в Kibana Dev Tools, REST-клиенте или слое поиска приложения и предпочел бы описать условия вместо повторного ввода JSON-каркаса каждый раз.
Каждое условие — это одна строка в поле Conditions: опциональная ветвь (must, should, must_not, filter), имя поля, опциональный тип условия (term для точного совпадения, match для полнотекстового поиска, range для сравнений, exists для проверки наличия поля) и значение — разделённые точками с запятой. «filter price range 100..500» создаёт range-клаузулу; «should title match wireless headphones» создаёт полнотекстовый поиск по фразе; «must email exists» проверяет наличие поля. Пропустите тип, и Default condition type подставит его; пропустите ветвь, и Default branch подставит её, поэтому быстрый список «status active; category electronics» всё равно даст валидный запрос.
Панель опций охватывает остальное в реальном запросе поиска: Sort field и order добавляют sort-клаузулу, Page size и Offset управляют from/size пагинацией, а Aggregation включает terms или date_histogram агрегацию по выбранному полю. Highlight matches добавляет блок highlight для любых match-условий, а Query language version переключает track_total_hits, доступный только с Elasticsearch 7 и выше.
Всё работает в вашем браузере — условия, которые вы вводите, и запрос, который получается, никогда не загружаются никуда. Скопируйте результат прямо в Kibana Dev Tools или body запроса, загрузите как .txt-файл или отправьте результат обратно в input для дальнейшей доработки.