3.2.18. table_create

3.2.18.1. 名前

table_create - テーブルの追加

3.2.18.2. 書式

table_create name [flags [key_type [value_type [default_tokenizer [output_type]]]]]

3.2.18.3. 説明

groonga組込コマンドの一つであるtable_createについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。

table_createコマンドは、使用しているデータベースに対してテーブルを追加します。groongaには名前付きテーブルと名前なしテーブル、永続テーブルと一時テーブルがありますが、table_createコマンドでは、名前付きの永続テーブルのみが作成できます。テーブルはレコードの集合であり、全てのレコードは一意なIDを持ちます。IDはレコードを追加した順序に従って自動的に付与されます。

テーブルにカラムを追加する時にはcolumn_createコマンドを使用します。また、テーブルを作成した時点でいくつかの疑似カラムが使用可能になっています。

3.2.18.4. 引数

name

作成するテーブルの名前を指定します。nameはデータベース内で一意な、未定義の名前でなければなりません。組込型名・組込コマンド名・組込関数名は予約済みであり、テーブル名には 使用できません。また、ピリオド(‘.’), コロン(‘:’)を含む名前のテーブルは作成できません。

flags

作成するテーブルの属性を示す数値か、パイプ(‘|’)で組み合わせたシンボル名を指定します。(デフォルト値は0(=”TABLE_HASH_KEY”))

0, TABLE_HASH_KEY
主キー値をハッシュ表で管理するテーブルを作成します。ハッシュ表を使用したテーブルでは、主キー値に完全一致するレコードを高速に検索することができます。
1, TABLE_PAT_KEY
主キー値をパトリシア木で管理するテーブルを作成します。パトリシア木を使用したテーブルでは、主キー値に完全一致するレコード、前方一致するレコード、および最長共通接頭辞となるレコードを高速に検索することができます。また、キー値の昇降順でレコードを取り出したり、キー値の範囲での検索を行うことができます。また、flagsの値に64を加えることによって、後方一致検索も可能となります。
3, TABLE_NO_KEY
主キーを持たないテーブルを作成します。各レコードはIDのみによって特定することができます。
4, TABLE_VIEW
複数のテーブルをまとめて操作するための仮想的なテーブル(view)を作成します。
64, KEY_WITH_SIS
語彙表となるパトリシア木型のテーブルにおいて、後方一致検索を可能とします。
128, KEY_NORMALIZE
ハッシュ表型か、パトリシア木型のテーブルにおいて、主キー値を正規化した上で登録します。この値が指定されたテーブルではたとえば、主キー値’abc’と’ABC’ は同一のレコードに対応するものとみなされます。

key_type

主キー値の型を指定します。主キー値を持つテーブルに限り有効です。型にはgroongaの組込型か、同一データベースに定義済みのユーザ定義型、定義済みのテーブルを指定することができます。

value_type

値の型を指定します。tableの値には固定長の型のみが指定できます。(可変長の値が必要な場合は別途カラムを作成します) 型にはgroongaの組込型か、同一データベースに定義済みのユーザ定義型、またはテーブルを指定することができます。(デフォルトはvalueなし)

default_tokenizer

作成するテーブルを語彙表として使用する場合、文字列を分割するトークナイザを指定します。

組込のトークナイザとして、以下が準備されています。

TokenDelimit
空白で区切られた文字列をトークンとする
TokenUnigram
unigram(1文字を1トークンとする)
TokenBigram
bigram(2文字の文字列要素をトークンとする)
TokenTrigram
trigram(3文字の文字列要素をトークンとする)
TokenMecab
形態素解析器mecabで解析した形態素をトークンとする。(mecabを組み込んだ場合のみ有効)

トークナイザが指定されなかった場合は、対象の文字列を分割せずに語彙表に登録します。

output_type
出力形式を、json,tsv,xmlのいずれかで指定します。

3.2.18.5. 返値

以下のようなjson形式で値が返却されます。 [1]

[[リターンコード, 処理開始時間, 処理時間]]

リターンコード

grn_rcに対応する数値が返されます。0(GRN_SUCCESS)以外の場合は、続いてエラー内容を示す 文字列が返されます。

処理開始時間

処理を開始した時間について、1970年1月1日0時0分0秒を起点とした秒数を小数で返します。

処理時間

処理にかかった秒数を返します。

3.2.18.6. 例

ShortText型の主キーを持つハッシュ表型のテーブル、Entryを作成します。:

table_create Entry --key_type ShortText --output_type json
[[0,1268211304.87641,0.063105]]

ShortText型の主キーを持つパトリシア木型のテーブル、Termを作成します。主キー値は正規化して管理します。また、このテーブルを語彙表とする転置索引を作成する場合には、バイグラムの索引を作成します。:

table_create Term --flags 129 --key_type ShortText --default_tokenizer TokenBigram
[[0,1268211315.5884,0.077477]]

または:

table_create Term --flags TABLE_PAT_KEY|KEY_NORMALIZE --key_type ShortText --default_tokenizer TokenBigram
[[0,1268211315.5884,0.077477]]

脚注

[1]tsv,xml出力はv1.0でサポートされます。また、処理開始時間・処理時間については正確でない場合があります。

Table Of Contents

Previous topic

3.2.17. status

Next topic

3.2.19. table_list

This Page