2015-09-02 84 views
0

我使用的是彈性搜索1.5.2,並且想知道是否有一種方法可以將字段名稱添加到除聚合本身名稱之外的聚合的返回,以便age可以保留年齡而不是Customer.Age有沒有辦法在聚合後拉回字段名稱?

{ 
    "aggregations": { 
     "age": { 
      "terms": { 
       "field": "Customer.Age", 
       "size": 10 
      } 
     } 
    } 
} 

我想恢復到這個樣子

aggregations: { 
    age: { 
     doc_count_error_upper_bound: 0 
     sum_other_doc_count: 0 
     field: Customer.Age 
     buckets: [6] 
      0: { 
       key: "unknown" 
       doc_count: 607103 
      }    
    } 

什麼我目前得到不包括現場。

回答

1

這是不可能的(2.0版發佈之前)。然而,由於聚合的名稱可以基本上任何事情,你可以編碼在聚合名稱都聚集名和字段,然後分析它在客戶端:

{ 
    "aggregations": { 
     "age/Customer.Age": { 
      "terms": { 
       "field": "Customer.Age", 
       "size": 10 
      } 
     } 
    } 
} 

在V2.0中,將有可能指定將返回給用戶的任意metadata

{ 
    "aggregations": { 
     "age: { 
      "terms": { 
       "field": "Customer.Age", 
       "size": 10 
      }, 
      "meta": { 
       "field": "Customer.Age" 
      } 
     } 
    } 
} 
+0

這就是我的想法。我希望有一些神奇的東西讓它的工作方式不同。 –

+0

魔法即將到來,但尚未投入生產。我已經提到了我的回答,以防將來有人絆倒這件事。 – imotov

相關問題