3
我有一個排序的elasticsearch直方圖聚合,按原樣正常工作。從Elasticsearch聚合的第一個和最後一個文檔返回字段
我需要從每個聚合存儲桶的第一個和最後一個文檔中返回一個字段。
當前查詢(紅寶石風格的語法):
{
query: {
filtered: {
filter: {
bool: {
must: [
{ term: { some_id: 'something' } },
{ range: {
completed_at: {
gte: start,
lte: end
}
}
}
]
}
},
_cache: true,
_cache_key: "special-query"
}
},
aggs: {
intervals: {
histogram: {
field: 'completed_at',
interval: 24.hours.to_i,
min_doc_count: 0,
order: { _key: 'asc' }
},
aggs: {
start_at: { min: { field: 'completed_at' } },
end_at: { max: { field: 'completed_at' } },
price_stats: { extended_stats: { field: 'rate' } },
}
}
}
}
我已經通過文件搜索和廣泛的一派,但無法找到任何解決方案。目前,我必須向數據庫發送第二個查詢以顯式獲取此字段的所有值,但我想將該功能轉入我的elasticsearch查詢中。
這似乎是我正在尋找。可惜它沒有實現,我不得不繼續解決它與查詢數據庫。謝謝。 – Roganartu
如果您不是百分百綁定到Elastichsearch,Solr DOES提供此功能。 https://wiki.apache.org/solr/FieldCollapsing –
既然[Elasticsearch 1.3.x已發佈](http://www.elasticsearch.org/blog/elasticsearch-1-3-0-released/),現場通過'top_hits'聚合可以獲得摺疊。我目前正在用類似於這個查詢的方式使用它。 – bpeirce