Kouhei Sutou
kou****@clear*****
2016年 1月 31日 (日) 16:19:28 JST
須藤です。 In <CANM+HhdF_=UDZgtOyb1zU+1_JmmnCy_OD+2J****@mail*****> "[groonga-dev,03883] [C-API] grn_rset_recinfo とかを公開してほしい" on Sat, 30 Jan 2016 09:59:58 +0900, Naoya Murakami <visio****@gmail*****> wrote: > 以下のようにしてscoreをいれたいことがよくあるのですが、 > grn_rset_recinfoを再定義して使っています。 > > grn_rset_recinfo *ri; > if (grn_hash_add(ctx, (grn_hash *)hash, &id, sizeof(grn_id), (void > **)&ri, NULL)) { > ri->score = score; > } > > grn_rset_recinfoを公開してもよければ楽になるのですがいかがでしょうか? 一応、_scoreのアクセサーを作ってgrn_obj_set()するのが正規の 手順なんですが、それだとアレですかねぃ。 grn_obj *score_accessor; grn_obj score_buffer; score_accessor = grn_obj_column(ctx, hash, GRN_COLUMN_NAME_SCORE, GRN_COLUMN_NAME_SCORE_LEN); GRN_FLOAT_INIT(&score_buffer, 0); GRN_FLOAT_SET(ctx, &score_buffer, score); grn_obj_set_value(ctx, score_accessor, id, &score_buffer, GRN_OBJ_SET); GRN_OBJ_FIN(ctx, &score_buffer); grn_obj_close(ctx, &score_accessor); -- 須藤 功平 <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