[groonga-dev,03886] Re: [C-API] grn_rset_recinfo とかを公開してほしい

Back to archive index

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




groonga-dev メーリングリストの案内
Back to archive index