2017-02-01 1 views
-2

최대 값 (최대 항목) 중에서 최대 시간 (최근 항목)을 검색해야합니다. 필터 등을 사용하여 집계에 중첩의 다양한 유형을 시도했습니다. 하지만 제대로 작동하지 않는 것 같습니다. 어떤 도움이 필요합니까?ElasticSearch Max of Max?

예 -

매핑 -

{ 
    "trytime": { 
    "mappings": { 
     "value": { 
     "properties": { 
      "time": { 
      "type": "long" 
      }, 
      "value": { 
      "type": "long" 
      } 
     } 
     } 
    } 
    } 
} 

값 : -

{ 
    "took": 2, 
    "timed_out": false, 
    "_shards": { 
    "total": 5, 
    "successful": 5, 
    "failed": 0 
    }, 
    "hits": { 
    "total": 4, 
    "max_score": 1, 
    "hits": [ 
     { 
     "_index": "trytime", 
     "_type": "value", 
     "_id": "2", 
     "_score": 1, 
     "_source": { 
      "time": 9, 
      "value": 5 
     } 
     }, 
     { 
     "_index": "trytime", 
     "_type": "value", 
     "_id": "4", 
     "_score": 1, 
     "_source": { 
      "time": 6, 
      "value": 10 
     } 
     }, 
     { 
     "_index": "trytime", 
     "_type": "value", 
     "_id": "1", 
     "_score": 1, 
     "_source": { 
      "time": 9, 
      "value": 6 
     } 
     }, 
     { 
     "_index": "trytime", 
     "_type": "value", 
     "_id": "3", 
     "_score": 1, 
     "_source": { 
      "time": 9, 
      "value": 9 
     } 
     } 
    ] 
    } 
} 

I 최대 시간과 같은 시간에 대응하는 최대 값을 필요 (다중 값에 대응있을 것이다 특정 시간).

쿼리 : - 내가 제대로 질문을 이해하면

GET /trytime/_search 
{ 
    "size": 0, 
    "aggs":{ 
    "max_Value": { 
     "max": { 
     "field": "value" 
     } 
    } 
    }, 
    "query": { 
    "bool": { 
     "must": [ 
     { 
      "range": { 
      "time": { 
       "gte": ___NEED-MAX-TIME-VALUE-HERE___ 
      } 
      } 
     } 
     ] 
    } 
    } 

}

+0

현재 쿼리, 지금까지 시도한 작업 및 실패한 작업을 제공해야합니다. – jonasfh

+0

지금까지 시도한 매핑, 스키마 설정, 예제 문서 및 검색어를 제공하십시오. 우리가 당신을 도울 수있는 유일한 방법입니다. 감사 – user3775217

답변

1

이 중첩 집계는 3 최신 시간을 제공해야하며, 때마다 당신은 최대 값을 얻는다. 하나의 결과 만 원하면 크기를 1로 설정하십시오.

{ 
    "size": 0, 
    "aggs": { 
    "times": { 
     "terms": { 
     "field": "time", 
     "size": 3, 
     "order": { 
      "_term": "desc" 
     } 
     }, 
     "aggs": { 
     "max_vals": { 
      "max": { 
      "field": "value" 
      } 
     } 
     } 
    } 
    } 
} 

날짜 히스토그램 집계로 달성 할 수 있는지 확실하지 않습니다.