我已經這樣在我ElasticSearch對象:Elasticsearch算術和嵌套聚集
"myobject": {
"type": "blah",
"events": [
{
"code": "code1"
"date": "2016-08-03 18:00:00"
},
{
"code": "code2"
"date": "2016-08-03 20:00:00"
}
]
}
我想計算的平均時間花費在與代碼「代碼1」事件與事件之間有型「碼2 」。基本上,我需要從每個對象的「code1」日期中減去「code2」的日期,然後計算平均值。
感謝您的幫助!
這不會像你想象的那麼容易。你要麼需要「事件」嵌套,然後你需要一些腳本聚合,我甚至不知道你可以做...你可以索引2個事件分開,而不是在一個數組? –
嗨@DennisIch,「事件」數組在我的映射中聲明爲嵌套數組。我目前正在看看我可以通過腳本度量聚合來做什麼(https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-scripted-metric-aggregation.html)。我可以在地圖階段減去,然後在縮小階段做平均。作爲B計劃,我可以預先使用插入/更新腳本來計算日期差異。 –
好的,這種方法運行良好,但數據增長時需要花費太多時間。所以正確的解決方案是預先計算這些值@Val建議波紋管。 –