ES 쿼리 시스템의 근본적인 이해에 많은 문제가 있습니다.elasticsearch가 너무 많은 결과를 얻는데 도움이 필요합니다.
나는 예를 들어 다음 쿼리를 가지고 :
{
"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"
}
}
}
}
}
}
너무 많은 결과를 얻을 요청
:
{
"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 : 그 요청을 tryied했습니다
"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]]; "
을 올바른 결과를 얻을 수 있도록 데이터를 필터링하고 싶습니다. 어떤 도움이라도 대단히 감사하겠습니다!
또 다른 훨씬 더 깨끗한 솔루션이 생겼습니다. 테스트를 마쳤을 때 알려 드리겠습니다. –
Alexandre Mélard 청소기 솔루션은 무엇입니까? – spuder
죄송합니다. 그 시간이 더 이상 없었 습니다만, 그 문제를 놓치지 않으면 안됩니다. 그러나 무언가를 최대한 빨리 게시하려고합니다. –