【Datatable】Top hits Aggregationについて②

お世話になります。
以前質問させて頂いた、DatatableのTop hits Aggregationに関して再度質問させて頂きます。

▼実現したいこと
下記indexデータにおいて
同一のnameの中でtimeが最も過去日付のデータのみ、Datatableに表示
かつ
同一のnameの中でidが異なり、timeが最も過去日付が複数あった場合、全件Datatableに表示

▼indexデータ

name id time
AAA 1 Jun 1, 2020 @ 10:00:00.000 …①
AAA 2 Jun 1, 2020 @ 10:00:00.000 …②
BBB 3 Jun 1, 2020 @ 10:00:00.000 …③
BBB 3 Jun 2, 2020 @ 10:00:00.000 …④

▼Datatableの設定値



▼取得一覧

name id time
AAA 1 Jun 1, 2020 @ 10:00:00.000 …①

name「AAA」に関して、①②とも表示させたいのですが、①のみ表示されます。
①②とも表示させる方法はありますでしょうか?

idのメトリックの集約-連結のサイズを「2(2以上の値)」に設定したところ
以下のように、「AAA」は①②のデータが表示されましたが、
「BBB」も(③のデータのみ表示させたいが)③④のデータが表示されます。

name id time
AAA 1,2 Jun 1, 2020 @ 10:00:00.000
BBB 3,3 Jun 1, 2020 @ 10:00:00.000

お手数ですが、有識者の方は回答頂けますと幸いです。
以上、宜しくお願い致します。

@harue さん、

以下の設定でできると思います。
最も古いドキュメントはtop_hitを使わずにtermsで取得した方が後続のアグリゲーションできるのでおすすめです。top_hitはメトリックアグリゲーションなので、そこで終わってしまいます。

こちらで利用したサンプルデータセットです。質問内容に記載のものに加え、name, id, timeが重複するCCCの2ドキュメントを追加しました。

POST forum_237985/_bulk
{"index":{"_id":"d1"}}
{"name":"AAA","id": "1","time":"2020-06-01T10:00:00+09:00"}
{"index":{"_id":"d2"}}
{"name":"AAA","id": "2","time":"2020-06-01T10:00:00+09:00"}
{"index":{"_id":"d3"}}
{"name":"BBB","id": "3","time":"2020-06-01T10:00:00+09:00"}
{"index":{"_id":"d4"}}
{"name":"BBB","id": "3","time":"2020-06-02T10:00:00+09:00"}
{"index":{"_id":"d5"}}
{"name":"CCC","id": "3","time":"2020-06-01T10:00:00+09:00"}
{"index":{"_id":"d6"}}
{"name":"CCC","id": "3","time":"2020-06-01T10:00:00+09:00"}

ただ、237414で質問されているタイムフィルタの要件を絡めると、やはりVegaが必要になりますね。

ご参考になれば幸いです。

上記返信を頂きありがとうございます。

お手数ですが、上記DataTableのMetricsとBucketsの詳細な設定値を教えて頂けますでしょうか?
(試すのですが、うまくいかず…)

@harue さん、作成したDataTableをエクスポートしてここにおいておきました。前述の_bulkリクエストで作成したサンプルインデックスを利用します。ご確認ください。
https://gist.githubusercontent.com/ijokarumawak/56e608236700909b1560bafd59ced823/raw/df459334e29218ee9d411f4ace3251aca28df734/forum_237985.ndjson

回答頂きありがとうございます。
上記のエクスポートファイルで実現できました。

お手数ですが、追加で質問させて頂きます。

▼実現したいこと
下記indexデータにおいて
同一の"name","id"の中でtimeが最も過去日付のデータのみ、Datatableに表示(④)
かつ
同一の"name"の中で"id"が異なる場合、全件Datatableに表示(①,②,③)

name id time
AAA 1 Jun 1, 2020 @ 10:00:00.000 …①
AAA 2 Jun 1, 2020 @ 10:00:00.000 …②
AAA 3 Jun 1, 2020 @ 11:00:00.000 …③
BBB 3 Jun 1, 2020 @ 10:00:00.000 …④
BBB 3 Jun 2, 2020 @ 10:00:00.000 …⑤

▼DataTable表示結果

name id time
AAA 1 Jun 1, 2020 @ 10:00:00.000 …①
AAA 2 Jun 1, 2020 @ 10:00:00.000 …②
AAA 3 Jun 1, 2020 @ 11:00:00.000 …③
BBB 3 Jun 1, 2020 @ 10:00:00.000 …④

前回ご質問したDataTableの条件は、
同一の"name"の中で"id"が異なり、"time"が最も過去日付が複数あった場合、全件DataTableに表示でしたが、今回のご質問は"time"が異なる場合でもDataTableに表示させたいです。
DataTableで実現する方法はありますでしょうか?(DataTableで実現できない場合、他に方法はありますでしょうか?)

大変お手数ですが、回答を頂けましたら幸いです。
宜しくお願い致します。

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.