2012-09-18 4 views
0

은 "상위 10 개"패싯을 얻는 방법이지만 동시에 우리가 만들 수있는 모든 패싯을 얻습니다 (이 경우 모든 고유 왕국).elasticsearch 가능한 모든 패싯을 얻으십시오.

매우 큰 숫자로 "크기"를 늘릴 수는 있지만 매우 큰 JSON을 생성하고 처리 비용이 훨씬 더 클 수 있음을 알고 있습니다.

간단한면

... 사전

+0

큰 JSON을받지 않고 어떻게 모든 항목을 얻을 수 있습니까? 무슨 뜻인지 분명히 설명해 주시겠습니까? – javanna

+0

내 말은, 각 가능한 패싯 (왕국)에 대해 {term : kingdom1, count : 100} 과 같은 것을 얻고 싶지는 않습니다. 이것은 내가 당신에게 말한 큰 JSON이 될 것입니다. 나는 그 이름과 개수와 함께 처음 10 개의 '왕국'(더 '대중적')을 원하지만, 내가 생성 할 수 있었던 많은면을 알려주고 싶다. SQL에서 'select count (distinct (kingdom)) from ...'과 같아야합니다. – user1249791

답변

0

에서

"facets" : { 
    "kingdom": { 
     "terms": { 
      "field": "kingdom", 
      "size": 10 
     } 
    } 

덕분에 JSON 응답의 크기는 그 임기가 서로 다른 값의 양에 비례한다. 그는 말했다되고와

난 당신이 원하는 것은 일종의을 적용하는 것입니다 생각

"sort":[{"kingdom":{"order":"desc"}}],"size":10 

두 쿼리의 "facets" :{"kingdom":{"terms":{"field": "kingdom","size": 10}} 당신에게 조건을 모두 반환하고 다른 쿼리가 처음으로 돌아갑니다있을 것 10 히트 필드 내림차순

관련 문제