У меня есть следующий запрос, который находит записи, которые не содержат ни одного из следующих полей: timestamp_login
, timestamp_logout
, timestamp_signup
и группируются по user_city
.
{
"query": {
"bool": {
"must": [],
"must_not": [
{
"exists": {
"field": "timestamp_login"
}
},
{
"exists": {
"field": "timestamp_logout"
}
},
{
"exists": {
"field": "timestamp_signup"
}
}
]
}
},
"aggs": {
"group_by_item": {
"terms": {
"script": "doc['user_city.keyword'].value?.toLowerCase()",
"size": 10,
"order": {
"_count": "desc"
}
}
},
"distinct_terms": {
"cardinality": {
"script": "doc['user_city.keyword'].value?.toLowerCase()"
}
}
},
"size": 0
}
Однакозапрос часто истекает.Есть ли более эффективный способ получения записей, где отсутствует список полей?Также я использую ES 5.6.
Спасибо за вашу помощь!