2014-03-01 3 views
3

나는 잘 작동하는 정렬 된 elasticsearch 막대 그래프 집계가 있습니다.Elasticsearch 집계의 첫 번째 및 마지막 문서의 필드 반환

각 집계 버킷의 첫 번째 및 마지막 문서에서 필드를 반환해야합니다.

현재 쿼리 (루비 스타일의 구문) :

{ 
    query: { 
    filtered: { 
     filter: { 
     bool: { 
      must: [ 
      { term: { some_id: 'something' } }, 
      { range: { 
       completed_at: { 
        gte: start, 
        lte: end 
       } 
       } 
      } 
      ] 
     } 
     }, 
     _cache: true, 
     _cache_key: "special-query" 
    } 
    }, 
    aggs: { 
    intervals: { 
     histogram: { 
     field: 'completed_at', 
     interval: 24.hours.to_i, 
     min_doc_count: 0, 
     order: { _key: 'asc' } 
     }, 
     aggs: { 
     start_at: { min: { field: 'completed_at' } }, 
     end_at: { max: { field: 'completed_at' } }, 
     price_stats: { extended_stats: { field: 'rate' } }, 
     } 
    } 
    } 
} 

나는 문서를 검색하고 광범위하게 인터넷 검색 그러나 어떤 해결 방법을 찾을 수있다. 현재이 필드에 대한 모든 값을 명시 적으로 가져 오기 위해 데이터베이스에 두 번째 쿼리를 보내야하지만 내 기능을 내 elasticsearch 쿼리로 롤백하고 싶습니다.

답변

6

집계 당 결과를 반환 하시겠습니까?

필드 붕괴라는 불행하게도 아직 Elasticsearch에서 사용할 수없는 것

, 참조 : https://github.com/elasticsearch/elasticsearch/issues/256

업데이트 9월 @bpierce 당 2014

을 아래 코멘트 : 이제 Elasticsearch 1.3.x 밖으로 즉, 필드가 붕괴 top_hits 집합을 통해 사용할 수 있습니다. 나는 현재이 쿼리와 비슷한 쿼리에서이 쿼리를 사용하고 있습니다.

+0

내가 찾고있는 것 같습니다. 안타깝게도 구현되지 않았기 때문에 DB 쿼리를 사용하여 계속 작업해야합니다. 감사. – Roganartu

+0

Elastichsearch에 100 % 바인드되지 않은 경우 Solr DOES가이 기능을 제공합니다. https://wiki.apache.org/solr/FieldCollapsing –

+2

[Elasticsearch 1.3.x out] (http://www.elasticsearch.org/blog/elasticsearch-1-3-0-rele/) 필드 Collapsing은'top_hits' aggregation을 통해 가능합니다. 나는 현재이 쿼리와 비슷한 쿼리에서이 쿼리를 사용하고 있습니다. – bpeirce

관련 문제