2016-12-23 1 views
-1

특정 필드에 대해 고유 한 값을 얻기 위해 탄성 검색에서 쿼리가 있습니다. Where 절을 사용하여 고유 값 가져 오는 방법. 경우 필드 1 : XYZ, FIELD2 : YZX 등탄성 agfregations는 uniq 값을 얻습니다. where

{ 
"size": 20, 
"aggs" : { 
    "pf" : { 
     "terms" : { "field" : "platform" } 
    } 
}} 

답변

0

난 당신이 필터를 집계의 업데이트에 대한

{ 
    "size":0, // <-- If you are using ES 2.0 or above, setting size=0 will only return aggregations and no results 
    "query": { 
     "filtered": { 
      "query": { 
       "match_all": {} 
      }, 
      "filter": { 
       "bool": { 
        "must": [{ 
         "term": { 
          "field1": "xyz" 
         } 
        }, { 
         "term": { 
          "field2": "abc" 
         } 
        }] 
       } 
      } 
     } 
    }, 
    "aggregations": { 
     "pf": { 
      "terms": { 
       "field": "platform" 
      } 
     } 
    } 
} 
+0

감사를 찾고있다 생각합니다. 하나 더 작은 쿼리가 있습니다. 고유 한 플랫폼 필드를 얻는 동안 모든 문서도 가져오고 있습니다. 응답 시간을 줄이기 위해 플랫폼 값만 얻는 방법. – venkat

+0

알았네. 감사합니다 – venkat

+0

@venkat, 귀하의 우려를 해결하는 경우 답변을 수락하시기 바랍니다. – Rahul