[groonga-dev,03011] Re: [ANN] Droonga 1.0.9

Back to archive index

Kouhei Sutou kou****@clear*****
2014年 12月 13日 (土) 13:51:50 JST


須藤です。

In <CACEC****@mail*****>
  "[groonga-dev,03010] Re: [ANN] Droonga 1.0.9" on Fri, 12 Dec 2014 18:28:37 +0900,
  funa 1g <funa1****@gmail*****> wrote:

> 重ねてご確認で申し訳ないのですが、DroongaではUInt64のベクターカラムに対してインデックスは設定できないのでしょうか。
> 下のようなスキーマを設定してみましたが、その下のようなエラーが出て、addメソッドによる登録ができませんでした(loadでも駄目でした)。
> 
> スキーマ
> {"dataset":"Default","type":"table_create","body":{"name":"TestIndex","flags":"TABLE_HASH_KEY","key_type":"UInt64"}}
> {"dataset":"Default","type":"table_create","body":{"name":"Test","flags":"TABLE_HASH_KEY","key_type":"UInt64"}}

> {"dataset":"Default","type":"column_create","body":{"table":"Test","name":"ids","flags":"COLUMN_VECTOR","type":"TestIndex"}}

ここのtypeはUInt64にしてください!

インデックス用のテーブルのキーの型
と
インデックス対象の値の型
は揃えないといけないのです!

----気になる人向けの補足
厳密に言うと、

インデックス用のテーブルのキーの型
と
インデックス対象の値の型

を揃えるのではなく、

インデックス用のテーブルのキーの型
(↑は同じだった)
と
インデックス対象の値をトークナイズした後の個々のトークンの型
(↑が厳密には違った)

を揃える必要があります。

各トークンがインデックス用のテーブルのキーになるので、↑のよ
うに型を揃える必要があるのです。

で、今回の場合は

インデックス用のテーブルのキーの型
と
インデックス対象の値の型

という説明で問題がないのは、今回のインデックス用のテーブルは
トークナイザーが指定されていないので、値そのものがトークンに
なるからです。値そのものがトークンになるので、値の型とテーブ
ルのキーの型を揃えればよいのです。
----

-- 
須藤 功平 <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/




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