2016-02-22 56 views
2
PUT items/1 
{ "language" : 10, 
    "country" : "US" } 

PUT items/2 
{ "language" : 11, 
    "country" : "UK" } 

PUT items/3 
{ "language" : 10, 
    "country" : "US" } 

PUT items/4 
{ "language" : 12, 
    "country" : "US" } 

我怎樣寫一個返回的搜索查詢的唯一值唯一語言即10, 12他的國家是US彈性搜索 - 返回基於過濾器/匹配

爲了讓所有獨特的語言10,11,12術語列表可以使用聚合。但是,我無法弄清楚如何在其中包含國家/地區過濾器。

回答

2

基於用例來實現這個的一種方式是使用filter aggregations: 示例:

{ 
    "size": 0, 
    "aggs": { 
     "country_us": { 
     "filter": { 
      "term": { 
       "country": "us" 
      } 
     }, 
     "aggs": { 
      "language": { 
       "terms": { 
        "field": "language", 
        "size": 0 
       } 
      } 
     } 
     } 
    } 
}