morit****@razil*****
morit****@razil*****
2009年 4月 10日 (金) 14:34:26 JST
森です。 GRN_OBJ_COLUMN_INDEXなカラムを追加するテーブルは、 そもそもlexicon専用のテーブルであるはずだ、という前提で考えてました。 lexicon用のテーブルには自動的にレコードが追加されるのも仕様です。 lexicon用のテーブルとその他のテーブルを分離して管理するのは アプリケーションとして自由に選択可能だと思いますが、 groongaのライブラリ機能としてそれを提供することはないと思います。 また、GRN_OBJ_TABLE_NO_KEYが指定されたテーブルは、 lexiconとして機能しないはずなので、 GRN_OBJ_COLUMN_INDEXなカラムを追加する必要はないはずだ、と考えてます。 よろしくおねがいしますー。 >>> Kouhei Sutou さんは書きました: > 須藤です。 > > 質問なのですが、テーブルに登録したレコードIDの一覧を取得する > APIはあるでしょうか? > > GRN_OBJ_COLUMN_INDEXなカラムを追加していないときは > grn_table_cursor_open()でカーソルを開いてグルグルまわすと登 > 録したレコードIDの一覧を集められます。 > > しかし、GRN_OBJ_COLUMN_INDEXなカラムを追加していると、自分で > 登録したつもりのないレコードIDまで集まってしまいます。これは、 > grn_column_create()でテーブル自身をlexiconに使っているからな > のですが、テーブル自身ではなく、テーブルにlexicon用テーブル > を1つ持たせてやると問題があるのでしょうか? > (メモリ使用量は増えると思いますが。。。) > > もし、lexiconを除いたレコードIDの一覧を集められる方法がある > ならそれを使いたいと思いますが、それが難しい場合はlexicon専 > 用テーブルを作ってテーブル自身とlexiconを分離してもらえない > でしょうか? > > もし、lexicon専用テーブルをテーブルに持たせてもOKだけど、今は > 手が空いていない、ということであればパッチを作るのでlexicon > 専用テーブル追加の可否についてだけでも教えてもらえると嬉しい > です。 > > # lexicon専用テーブルを作ると、テーブルが > # GRN_OBJ_TABLE_NO_KEYのときでもGRN_OBJ_COLUMN_INDEXなカラム > # が使えるようになるかも。 > > -- > 須藤 功平 <kou****@clear*****> > > 株式会社クリアコード (http://www.clear-code.com/) > > _______________________________________________ > groonga-dev mailing list > groon****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev > -- morita