お世話になります。
あるフィールドにおいて、同一index内のtimefieldが一つ前のドキュメントとの差分を計算して取得したいのですが、そのようなことは可能でしょうか。
scripted field を使用して計算することなどを模索してみたのですが、同一ドキュメント内で異なるフィールドの差分などは取れそうでしたが、別ドキュメントの同じフィールドの差分は取れそうにありませんでした。
やりたいことのイメージ
たとえば下記のようなデータ群で、valueフィールドに対してtimefiledが一つ前のドキュメントとの差分を取りたい場合の期待値は以下のとおりとなります。
_id | 期待値 (ひとつ前のドキュメントとの差分) |
---|---|
1 | なし |
2 | 10 ( =20-10) |
3 | 80 ( =100-20) |
{
"_index": "sample-index",
"_type": "sample-type",
"_id": "1",
"_score": 1,
"_source": {
"title": "testdata-1",
"timefiled": "2020-01-01T00:00:00+09:00",
"value": 10
}
},
{
"_index": "sample-index",
"_type": "sample-type",
"_id": "2",
"_score": 1,
"_source": {
"title": "testdata-2",
"timefiled": "2020-01-02T00:00:00+09:00",
"value": 20
}
},
{
"_index": "sample-index",
"_type": "sample-type",
"_id": "3",
"_score": 1,
"_source": {
"title": "testdata-3",
"timefiled": "2020-01-03T00:00:00+09:00",
"value": 100
}
}
動作環境
- Elasticsearch 7.3.0
- Kibana 7.3.0
ご教示いただけますと幸いです。
どうぞ宜しくお願い致します。