Kouhei Sutou
kou****@clear*****
2016年 2月 2日 (火) 23:34:21 JST
須藤です。 In <CANM+HhddmUhNN28esh5KvDu8KP728=_iWNf8****@mail*****> "[groonga-dev,03895] Re: ベクターカラムのドリルダウン結果のn_subrecsの合計値を取得したい" on Tue, 2 Feb 2016 02:09:58 +0900, Naoya Murakami <visio****@gmail*****> wrote: > 思ったのですが、本件、対応しようと思うと以下のような方法になるでしょうか。 > > ・Droongaのようにドリルダウンやselectの結果テーブルに対して、 > さらに多段の検索、集計やグループができるオプションを実装する。 > > ・返り値はドリルダウンのようにもう一つ配列を増やす。 > > 問題は、jsonじゃなくてコマンドの形式で多段の数珠つなぎを表現する > のは難しいことと、ただでさえ多いselectの引数がさらに増えることです > かね。 > > 結構、大変そうですね。。 私が妄想したのは select \ Posts \ --drilldown[tags_drilldown].keys tags \ --drilldown[tags_drilldown_sum].table tags_drilldown \ --drilldown[tags_drilldown_sum].calc_types SUM \ --drilldown[tags_drilldown_sum].calc_target _nsubrecs \ --drilldown[tags_drilldown_sum].output_columns _sum というAPIでした。 --drilldown[...].tableで他の--drilldown[...]の「...」に指定 したドリルダウン結果を指定できることと、 --drilldown[...].keysを省略できること がポイントです。 --drilldown[...]の依存関係はトポロジカルソートというのをすれ ば解決できます。makeとかで使われているやつです。 --drilldown[...].keysを省略できるのは、全レコードを1つのグルー プとみなすためです。今はkeysに指定した値でグループを作ってい るので、keysに指定した値がすべて同じでない限り全レコードの合 計値は計算できないのです。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ リーダブルコードワークショップ: http://www.clear-code.com/services/code-reader/readable-code-workshop.html