Фильтр диапазона дат не исключается из гистограммы дат при глобальных агрегациях в эластичном запросеJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Фильтр диапазона дат не исключается из гистограммы дат при глобальных агрегациях в эластичном запросе

Сообщение Anonymous »

У меня есть эластичный запрос, как показано ниже:

Код: Выделить всё

{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "my search term",
"fields": [
"title",
"keywords",
"text"
]
}
}
],
"filter": [
{
"terms": {
"catid": [
83
]
}
},
{
"range": {
"updateDate": {
"gte": "now/d-30d",
"lte": "now/d"
}
}
}
]
}
},
"aggs": {
"global_aggregation": {
"global": {},
"aggs": {
"filtered_aggregation": {
"filter": {
"bool": {
"must": [
{
"multi_match": {
"query": "my search term",
"fields": [
"title",
"keywords",
"text"
]
}
},
{
"terms": {
"status": [
2
]
}
}
]
}
},
"aggs": {
"by_time_period": {
"date_histogram": {
"field": "updateDate",
"calendar_interval": "quarter",
"format": "yyyy-MM-dd",
"order": {
"_key": "desc"
}
},
"aggs": {
"top_hits_per_bucket": {
"top_hits": {
"size": 10,
"_source": [
"title",
"msid",
"keywords",
"updateDate"
]
}
}
}
}
}
}
}
}
},
"size": 0,
"_source": [
"title",
"msid",
"keywords",
"updateDate"
]
}
Теперь проблема в том, что в агрегированных результатах я получаю date_histogram для результатов только за последние 30 дней, но глобальные агрегации должны игнорировать запрос диапазона в основном поиске.
Что я могу сделать, чтобы исправить этот запрос?
Если я удалю фильтр диапазона из основного запроса, я получу гистограммы дат за все прошлые годы с начала

Подробнее здесь: https://stackoverflow.com/questions/793 ... l-aggregat
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»