2014-07-25 6 views
5

나는 elasticsearch에 새로 입문했으며 아직 이에 대한 질문을 아직 찾지 못했습니다. 이미 답변을 받았다면, 나는 진급을 사과하며 정확한 방향을 가르쳐 주길 바랍니다.ElasticSearch (Nest)의 집계

내가 NEST에서 다음을 구현하는 방법을 찾고 있었다

는 :

.Aggregations(q => q.Terms("fieldA", r => r.Field(s => s.fieldA)) && q.Terms("fieldB", r => r.Field(s => s.fieldB))) 

이 :

.Aggregations(q => q.Terms("fieldA", r => r.Field(s => s.fieldA))) 
.Aggregations(q => q.Terms("fieldB", r => r.Field(s => s.fieldB))) 

모두에 실패한

"aggs" : { 
    "fieldA" : { 
     "terms" : { 
      "field" : "fieldA" 

     } 
    }, 

    "fieldB" : { 
     "terms" : { 
      "field" : "fieldB" 

     } 
    } 
} 

나는 이것을 시도 작업. 나는 다른 것을 놓치고 있니?

답변

14

당신과 같이 여러 집계를 지정할 수 있습니다

.Aggregations(a => a 
    .Terms("fieldA", t => t.Field(s => s.FieldA)) 
    .Terms("fieldB", t => t.Field(s => s.FieldB)) 
) 

각각 집계 기술자, 내부, (핵심으로 AGG 이름을 사용) 사전에 자신을 추가 한 다음 계속 더 추가 할 수 있도록 자체를 반환합니다.

NEST에서 aggs 관련 문서가 부족하다는 사과. 우리는 문서를 개선하는 과정에 있으며 위의 유스 케이스의 예를 포함시켜야합니다.

+1

아름답게 작동합니다. 감사합니다. 향후 더 많은 문서를 기대합니다. –

+0

답변을 주셔서 감사합니다, 나는 같은 aa bool 필터 : .Aggregations (a => a.Terms ("fieldA", t => t.Field (s => s. FieldA)), b => b.Terms ("fieldB", t => t.Field (s => s.FieldB)) ) – jhilden

관련 문제