<div dir="ltr">村上です。<br><br>API案の提示ありがとうございます。<br>実装のイメージができました。<br><br>いつできるかはわからないですが、もし実装ができそう<br>だったら、チャレンジしたいと思います。<br><br><div class="gmail_extra"><br><div class="gmail_quote">2016年2月2日 23:34 Kouhei Sutou <span dir="ltr">&lt;<a href="mailto:kou****@clear*****" target="_blank">kou****@clear*****</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">須藤です。<br>
<br>
In &lt;CANM+HhddmUhNN28esh5KvDu8KP728=_<a href="mailto:iWNf8%2Bo-K7Bs%2BF9W****@mail*****">iWNf8****@mail*****</a>&gt;<br>
  &quot;[groonga-dev,03895] Re: ベクターカラムのドリルダウン結果のn_subrecsの合計値を取得したい&quot; on Tue, 2 Feb 2016 02:09:58 +0900,<br>
<span class="">  Naoya Murakami &lt;<a href="mailto:visio****@gmail*****">visio****@gmail*****</a>&gt; wrote:<br>
<br>
&gt; 思ったのですが、本件、対応しようと思うと以下のような方法になるでしょうか。<br>
&gt;<br>
&gt; ・Droongaのようにドリルダウンやselectの結果テーブルに対して、<br>
&gt; さらに多段の検索、集計やグループができるオプションを実装する。<br>
&gt;<br>
&gt; ・返り値はドリルダウンのようにもう一つ配列を増やす。<br>
&gt;<br>
&gt; 問題は、jsonじゃなくてコマンドの形式で多段の数珠つなぎを表現する<br>
&gt; のは難しいことと、ただでさえ多いselectの引数がさらに増えることです<br>
&gt; かね。<br>
&gt;<br>
&gt; 結構、大変そうですね。。<br>
<br>
</span>私が妄想したのは<br>
<br>
  select \<br>
    Posts \<br>
    --drilldown[tags_drilldown].keys tags \<br>
    --drilldown[tags_drilldown_sum].table tags_drilldown \<br>
    --drilldown[tags_drilldown_sum].calc_types SUM \<br>
    --drilldown[tags_drilldown_sum].calc_target _nsubrecs \<br>
    --drilldown[tags_drilldown_sum].output_columns _sum<br>
<br>
というAPIでした。<br>
<br>
--drilldown[...].tableで他の--drilldown[...]の「...」に指定<br>
したドリルダウン結果を指定できることと、<br>
--drilldown[...].keysを省略できること<br>
がポイントです。<br>
<br>
--drilldown[...]の依存関係はトポロジカルソートというのをすれ<br>
ば解決できます。makeとかで使われているやつです。<br>
<br>
--drilldown[...].keysを省略できるのは、全レコードを1つのグルー<br>
プとみなすためです。今はkeysに指定した値でグループを作ってい<br>
るので、keysに指定した値がすべて同じでない限り全レコードの合<br>
計値は計算できないのです。<br>
<br>
<br>
--<br>
須藤 功平 &lt;<a href="mailto:kou****@clear*****">kou****@clear*****</a>&gt;<br>
株式会社クリアコード &lt;<a href="http://www.clear-code.com/" rel="noreferrer" target="_blank">http://www.clear-code.com/</a>&gt;<br>
<br>
Groongaベースの全文検索システムを総合サポート:<br>
  <a href="http://groonga.org/ja/support/" rel="noreferrer" target="_blank">http://groonga.org/ja/support/</a><br>
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:<br>
  <a href="http://www.clear-code.com/recruitment/" rel="noreferrer" target="_blank">http://www.clear-code.com/recruitment/</a><br>
リーダブルコードワークショップ:<br>
  <a href="http://www.clear-code.com/services/code-reader/readable-code-workshop.html" rel="noreferrer" target="_blank">http://www.clear-code.com/services/code-reader/readable-code-workshop.html</a><br>
<br>
_______________________________________________<br>
groonga-dev mailing list<br>
<a href="mailto:groon****@lists*****">groon****@lists*****</a><br>
<a href="http://lists.osdn.me/mailman/listinfo/groonga-dev" rel="noreferrer" target="_blank">http://lists.osdn.me/mailman/listinfo/groonga-dev</a><br>
</blockquote></div><br></div></div>