BloGroonga

2022-11-22

グルカイ!第24回「ドリルダウンの仕組みについて」を開催しました!

グルカイ!第24回「ドリルダウンの仕組みについて」の内容をまとめました!

今回は、ドリルダウンの仕組みについて解説いただきました! 解説時に使用した図はこちらです。

  • ドリルダウンとは?

    指定したキーの値でグループ化して、各グループに何件のレコードがあるかを集計できます。 これをつかうことで、0件のグループを表示しなくても良くなり、ユーザーに無駄な動作をさせなくてすむようになります。

  • ドリルダウンには複数のキーを指定できますが、同じキーを指定するとどうなるのか?同じキーを指定するようなユースケースはあるのか?

    基本的にそのようなユースケースはありません。同じキーを指定して使うようなことはしません。

    ドリルダウンは、ある特定のデータに着目してより詳細な集計をすることができます。(例えば、ある特定の商品の特定の年度の売上を見たい等。) 全文検索では特定のレコードを見つける必要がありますが、ドリルダウンではどういった傾向があるのかを把握するということができます。 着目したい点が複数ある場合に複数のキーを使うので、同じキーを使う意味がありません。

  • _valueで値が取得できるのは、どういう仕組みなのか?

    Groongaは検索結果を一時的なテーブルに保持しています。 この一時テーブルは、_keyというカラムが必ずあります。_keyはRDBMSでいう主キーです。 ドリルダウンの時はこの_keyには、ドリルダウンのキーが入ります。ドリルダウンのキーが複数ある場合は、_keyはvectorになります。 この時 _key にアクセスするとすべてのキーが取得できます。_keyはvectorなので、最初の要素を取得するには_key[0]でアクセスできます。

    複数のドリルダウンのキーを指定した場合は、_valueにはレコードIDが入っています。 _valueはレコードが取得できるので、ドリルダウンのキー以外の値を取得できます。_keyではどの値をドリルダウンのキーにしたかしかわかりませんが_valueでは、ドリルダウンのキー以外の値も取得できます。