Naoya Murakami
visio****@gmail*****
2014年 5月 23日 (金) 22:05:56 JST
村上です。 わざわざ詳細な解説ありがとうございます!すごく勉強になります。 > 戻り値はgrn_obj *じゃなくてgrn_proc_typeでよいです! > > そうすると、procがNULLのときになにを返すの!?となると思うの > で、grn_proc_typeにGRN_PROC_INVALIDを0で定義しておいてそれを > 返すのがいいと思います! > 修正しました! > > 一応、トークナイザ名とノーマライザ名の一覧を取得できましたが、 > > あまりセンスがよくない気がします。 > > はい、そうですね! > ですよね!! 全体像を理解できていないので、末端から小手先でいじることしか できていませんでした。すいません。組み込みコマンドでは、それ では、いけませんよね。 こういうときは、grn_db(外部からみるとこれもgrn_obj)に対し > てgrn_table_cursorを回します。なので、こんな感じになるんじゃ > ないかと思います。 > なるほど!table_listのコマンドを参考にすればよかったんですね! 今回は、grn_procなのでgrn_ctxを手動でなめるぐらいしかないの かなぁと思っちゃいました。 grn_dbの配下には、grn_typeとgrn_tableとgrn_procとかが いて、全部grn_table_cursor_openで動かせて、 obj->header.typeをみるとgrn_objの種類が判定できるんですね! > 戻り値は、今は["NormalizerAuto", "NormalizerNFKC51"]のように > 名前の配列になっていますが、 > > [ > {"name": "NormalizerAuto"}, > {"name": "NormalizerNFKC51"} > ] > > のようにオブジェクトにしておいた方がいいかなぁと思います。理 > 由は、ノーマライザー毎に新しい情報を追加したいときにAPIを変 > えずに対応できるからです。 > > 今は、名前だけで十分だとは思うんですが、もしかしたら、どのプ > ラグインが追加したのか、みたいな情報もあると助かることがある > かも?とか思いました。 > 上記を考慮しなおして書き直して、(といっても、ほとんど書いて いただいている通りですが)Pull Requestをしました。 https://github.com/groonga/groonga/pull/171 よければ、ご検討ください。 (ドキュメントの修正が一番大変でした。。すいません、翻訳ファイル がうまく効かせられず、まだ追加できていません。。今後、うまくでき そうなら追加します。) 以上、よろしくお願いします。