2016-08-06 46 views
1

我在Rails中使用searchkick gem有以下兩個聚合。當我分別使用它們中的任何一個時,它就像魅力一樣。但我想 「合併」 在一起,不能弄清楚如何做到這一點:(Searchkick聚合

聚集1:

aggs: { price_vat: { ranges: [{to: 5}, {from: 5, to: 10}, {from: 10}] } } 

聚合2:

aggs: ['property_options.property_id', 'property_options.id', 'property_options.value_cs', 'property_options.value_en', 'manufacturer_id'] 

有這個誰知道該怎麼做的專家? 真的很感謝。謝謝你,祝你有個美好的週末,Miro。

回答

1

您必須將「aggs」定義爲哈希值。然後你可以輕鬆地將它們合併在一起

例如:

range_aggregations = { price_vat: { ranges: [{to: 5}, {from: 5, to: 10}, {from: 10}] } } 
base_aggregations = { 
    property_options.property_id: {}, 
    property_options.id: {} 
} 

現在把它們合併togehter:

range_aggregations.merge(base_aggregations)