Mam duży problem ze zrozumieniem podstawy systemu zapytań ES.elasticsearch uzyskując zbyt wiele wyników, potrzebuję filtrowania zapytań pomocowych
Mam następującą kwerendę na przykład:
{
"size": 0,
"query": {
"bool": {
"must": [
{
"term": {
"referer": "www.xx.yy.com"
}
},
{
"range": {
"@timestamp": {
"gte": "now",
"lt": "now-1h"
}
}
}
]
}
},
"aggs": {
"interval": {
"date_histogram": {
"field": "@timestamp",
"interval": "0.5h"
},
"aggs": {
"what": {
"cardinality": {
"field": "host"
}
}
}
}
}
}
To żądać zbyt wiele wyników:
"status" : 500, "reason" : "ElasticsearchException[org.elasticsearch.common.breaker.CircuitBreakingException: Data too large, data for field [@timestamp] would be larger than limit of [3200306380/2.9gb]]; nested: UncheckedExecutionException[org.elasticsearch.common.breaker.CircuitBreakingException: Data too large, data for field [@timestamp] would be larger than limit of [3200306380/2.9gb]]; nested: CircuitBreakingException[Data too large, data for field [@timestamp] would be larger than limit of [3200306380/2.9gb]]; "
Mam tryied ten wniosek:
{
"size": 0,
"filter": {
"and": [
{
"term": {
"referer": "www.geoportail.gouv.fr"
}
},
{
"range": {
"@timestamp": {
"from": "2014-10-04",
"to": "2014-10-05"
}
}
}
]
},
"aggs": {
"interval": {
"date_histogram": {
"field": "@timestamp",
"interval": "0.5h"
},
"aggs": {
"what": {
"cardinality": {
"field": "host"
}
}
}
}
}
}
I chciałbym filtrować dane, aby uzyskać poprawny wynik, każda pomoc byłaby mile widziana!
Wymyśliłem inne, znacznie czyściejsze rozwiązanie, dam ci znać, kiedy skończę z testowaniem –
Alexandre Mélard, jakie było twoje czystsze rozwiązanie? – spuder
Niestety, nie miałem na to więcej czasu, musiałem pozostawić ten temat na boku, ale postaram się napisać coś na mój temat –