У меня есть один эластичный запрос, который я хочу разделить на несколько маленьких запросов.Это один запрос, который получает данные за 30 дней.Что я хочу, так это если я могу сделать 3 отдельных запроса по 10 дней каждый.Идея состоит в том, что возможно Я могу получить данные из ES быстрее, если мы разделим мой запрос на параллелизацию.Я не уверен, если это будет иметь значение или нет, но идея, на которую я обращаюсь, выглядит так:
"size": 0,
"query": {
"bool": {
"filter": {
"bool": {
"filter": [
{
"term": {
"scan.access_level": "public"
}
},
{
"bool": {
"should": [
{
"range": {
"tracking.last_found": {
"from": "now-30d/d",
"to": "now/d",
"include_lower": true,
"include_upper": true
}
}
},
{
"range": {
"tracking.last_fixed": {
"from": "now-30d/d",
"to": "now/d",
"include_lower": true,
"include_upper": true
}
}
},
{
"bool": {
"filter": {
"range": {
"scan.started_at": {
"from": "now-30d/d",
"to": "now/d",
"include_lower": true,
"include_upper": true
}
}
},
"must_not": {
"exists": {
"field": "tracking"
}
}
}
}
],
"minimum_should_match": "1"
}
}
]
}
}
}
},
"aggregations": {
"critical-line": {
"aggregations": {
"by_day": {
"date_histogram": {
"field": "scan.started_at",
"interval": "1d",
"order": {
"_count": "asc"
},
"time_zone": "+05:30"
},
"aggregations": {
"countedHosts": {
"cardinality": {
"field": "grouping_keys.summary_id",
"precision_threshold": 250
}
}
}
}
}
},
"high-line": {
"aggregations": {
"by_day": {
"date_histogram": {
"field": "scan.started_at",
"interval": "1d",
"order": {
"_count": "asc"
},
"time_zone": "+05:30"
},
"aggregations": {
"countedHosts": {
"cardinality": {
"field": "grouping_keys.summary_id",
"precision_threshold": 250
}
}
}
}
}
},
"medium-line": {
"aggregations": {
"by_day": {
"date_histogram": {
"field": "scan.started_at",
"interval": "1d",
"order": {
"_count": "asc"
},
"time_zone": "+05:30"
},
"aggregations": {
"countedHosts": {
"cardinality": {
"field": "grouping_keys.summary_id",
"precision_threshold": 250
}
}
}
}
}
},
"low-line": {
"aggregations": {
"by_day": {
"date_histogram": {
"field": "scan.started_at",
"interval": "1d",
"order": {
"_count": "asc"
},
"time_zone": "+05:30"
},
"aggregations": {
"countedHosts": {
"cardinality": {
"field": "grouping_keys.summary_id",
"precision_threshold": 250
}
}
}
}
}
}
}
}```
Please let me know how to do the split of single query into multiple queries.