Как создать эластичный поисковый запрос или условие - PullRequest
0 голосов
/ 10 июля 2019

Я хочу создать эластичный запрос в Java.

Запрос

Выбрать * из имени таблицы (col1 == 1 && col2 == 2) || (col3 == 3 && col4 == 4);

Ответы [ 2 ]

0 голосов
/ 16 июля 2019

Вы можете использовать эластичный поисковый запрос, если вы хотите выполнить запрос в стиле sql и вернуть результаты в виде объектов JSON. Пример запроса:

POST _sql?format=json
{
  "query": """select "host.name", avg("system.fsstat.total_size.used")/avg(system.fsstat.total_size.total) * 100 as used_percent from "metricbeat*" where "@timestamp" >= NOW() - INTERVAL 60 MINUTE group by host.name"""
}

Ссылка: https://www.elastic.co/what-is/elasticsearch-sql

0 голосов
/ 11 июля 2019

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html

Комбинация «Должен» и «Должен» в эластичном поисковом запросе приведет вас к тому, что вы ищете.

должны

Предложение (запрос) должно появиться в соответствующих документах и ​​будет способствовать оценке.

фильтр

Предложение (запрос) должно появляться в соответствующих документах. Однако, в отличие от этого, оценка запроса будет игнорироваться. Предложения фильтра выполняются в контексте фильтра, это означает, что оценка игнорируется, а предложения рассматриваются для кэширования.

должна

Предложение (запрос) должно появиться в соответствующем документе.

must_not

Предложение (запрос) не должно появляться в соответствующих документах. Предложения выполняются в контексте фильтра, что означает, что оценка игнорируется, а предложения рассматриваются для кэширования. Поскольку оценка игнорируется, возвращается оценка 0 для всех документов.

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