0
Привет, У меня возникли проблемы с решением вопроса о правильности следующего запроса для нескольких OR в Elasticsearch. Я хочу, чтобы выбрать все уникальные данные (не считать, но выбрать все строки)Несколько фильтров OR в Elasticsearch
Моя лучшая попытка для этого в упругом запросе
GET mystash/_search
{
"aggs": {
"uniques":{
"filter":
{
"or":
[
{ "term": { "url.raw" : "/a.json" } },
{ "term": { "url.raw" : "/b.json" } },
{ "term": { "url.raw" : "/c.json"} },
{ "term": { "url.raw" : "/d.json"} }
]
},
"aggs": {
"unique" :{
"terms" :{
"field" : "id.raw",
"size" : 0
}
}
}
}
}
}
Эквивалент SQL будет
SELECT DISTINCT id
FROM json_record
WHERE
json_record.url = 'a.json' OR
json_record.url = 'b.json' OR
json_record.url = 'c.json' OR
json_record.url = 'd.json'
I задается вопросом, правилен ли указанный выше запрос, поскольку данные будут необходимы для поколений отчетов.
Спасибо за советы. Но на самом деле я хочу, чтобы все данные вместо только числа! – Xyten
В вашем SQL-запросе вы выбираете отдельный идентификатор ..., это еще не все данные? Я не понимаю, что вы имеете в виду. –