[Groonga-commit] groonga/groonga [master] Update section 4.3 of documentation (Japanese).

アーカイブの一覧に戻る

null+****@clear***** null+****@clear*****
2012年 3月 22日 (木) 13:17:06 JST


Susumu Yata	2012-03-22 13:17:06 +0900 (Thu, 22 Mar 2012)

  New Revision: 97333a0047ba0045121940cc896b2b0c402f6696

  Log:
    Update section 4.3 of documentation (Japanese).

  Modified files:
    doc/source/tutorial/data.txt

  Modified: doc/source/tutorial/data.txt (+16 -21)
===================================================================
--- doc/source/tutorial/data.txt    2012-03-22 10:10:02 +0900 (278c7c9)
+++ doc/source/tutorial/data.txt    2012-03-22 13:17:06 +0900 (b4a1c85)
@@ -7,19 +7,17 @@
 .. groonga-command
 .. database: tutorial
 
-さまざまな種類をもったデータの保存
-==================================
+いろいろなデータの保存
+======================
 
-groongaでは、さまざまなデータを格納させることが出来ます。
+groongaは全文検索エンジンですが、文字列だけでなく、日時や経緯度など、いろいろなデータを保存することができます。
 
 データ型
 --------
 
-groongaでは、数値(整数・小数)や文字列や時刻や経緯度などの情報を格納することができます。
+groongaでは、数値(整数・浮動小数点数)と文字列に加えて、日時や経緯度を格納することができます。
 
-ここでは、Int32型のカラムに整数を格納、Float型のカラムに浮動小数点の小数を、ShortText型のカラムに文字列を、Time型のカラムに時間を格納する例を示します。経緯度の格納については、のちのチュートリアルで触れます。
-
-その他のデータ型の一覧は、 :doc:`/type` を参照してください。
+例として、整数を格納するカラムnumber、浮動小数点数を格納するカラムfloat、文字列を格納するカラムstring、日時を格納するカラムtimeにより構成されるテーブルTypeを作成する手順を以下に示します。以下の例では、テーブルを作成した後でデータを格納し、さらに内容の確認をおこなっています。
 
 .. groonga-command
 .. include:: ../example/tutorial/data-1.log
@@ -32,17 +30,18 @@ groongaでは、数値(整数・小数)や文字列や時刻や経緯度な
 .. [{"_key":"sample","number":12345,"float":42.195,"string":"GROONGA","time":1234567890.12}]
 .. select --table Type
 
+テーブルの作成手順は、 :doc:`/commands/table_create` コマンドを使って空のテーブルを作成した後、 :doc:`/commands/column_create` コマンドによりカラムを一つずつ作成するだけです。型の指定には--typeオプションを使います。整数の型としてInt32、浮動小数点数の型としてFloat、文字列の型としてShortText、日時の型としてTimeを使っていますが、整数と文字列については他にも型が存在します。利用可能なデータ型の一覧については、 :doc:`/type` を参照してください。経緯度については、後のチュートリアルで詳しく紹介します。
 
-テーブル型
-----------
+:doc:`/commands/load` コマンドで新しいレコードを作成するとき、省略したカラムには、データ型のデフォルト値が格納されます。デフォルト値については、 :doc:`/type` を参照してください。
 
-table_createで作成したテーブルを、カラムの型として使うことが出来ます。
+テーブル参照
+------------
 
-また、output_columnsにおいて「.」を区切りとして、参照先のテーブルに存在するカラムを指定すると、指定したカラムの値を表示することができます。
+groongaでは、別テーブルを参照するカラムを作成できます。より正確には、別テーブルのレコードIDを格納しておくことにより、別テーブルのレコードを参照できるようにします。以降、別テーブルを参照するカラムに格納される値のことをテーブル参照と呼びます。
 
-ここでは、先のチュートリアルで作成したSiteテーブルに手を加え、どのサイトをリンクしているのかを保存してみましょう。
+テーブル参照のカラムがあるときは、--output_columnsオプションに「参照元カラム名.参照先カラム名」と指定することにより、参照先カラムの値を取り出すことができます。参照元カラム名のみを指定したときは、「参照元カラム名._key」と同様の扱いとなり、参照先レコードの主キー(_key)が取り出されます。また、テーブル参照が有効なレコードを指していないときは、参照先カラムのデフォルト値が取り出されるようになっています。
 
-他のテーブルを参照するカラムにデータを入力する場合には、参照先のテーブルの_keyカラムの値を代入する必要があります。
+ここでは、先のチュートリアルで作成したSiteテーブルにlinkという新たなカラムを作成し、サイト間のリンク関係を保存できるようにしてみましょう。
 
 .. groonga-command
 .. include:: ../example/tutorial/data-2.log
@@ -51,18 +50,14 @@ table_createで作成したテーブルを、カラムの型として使うこ
 .. [{"_key":"http://example.org/","link":"http://example.net/"}]
 .. select --table Site --output_columns _key,title,link._key,link.title --query title:@this
 
-このように、linkカラムに他のサイトへの参照を保存することができました。また、参照先の_keyとtitleカラムの内容を表示することができました。
+テーブル参照のカラムを作成するときは、--typeオプションに参照先テーブルの名前を指定します。この例では、同じテーブルに含まれる別のレコードを参照させたいので、Siteを指定することになります。次に、"http://example.org/"から"http://example.net/"へのリンクを作成しています。テーブル参照を作成するときは、IDではなく主キー(_key)を指定することに注意してください。最後に、リンクの内容を確認しています。"link._key"と"link.title"を--output_columnsに指定することにより、参照先の主キー(_key)とタイトル(title)を表示できています。
 
 ベクターカラム
 --------------
 
-column_createコマンドでカラムを作成するとき、--flagsオプションでCOLUMN_VECTORフラグを指定すると、複数の値を配列で格納できるカラムが作成されます。
-
-テーブル型で配列を格納するカラムは、1対多の参照関係を表すのに有効です。
-
-テーブル型のチュートリアルでは、Siteテーブルに手を加え、どのサイトをリンクしているのかを保存しました。しかし、通常は1つのサイトから多くのサイトにリンクが張られています。複数のリンク情報を格納するために、複数の参照関係を保存するカラムを作成してみましょう。
+:doc:`/commands/column_create` コマンドでカラムを作成するとき、--flagsオプションにCOLUMN_VECTORフラグを指定すると、--typeに指定した型の配列を格納するカラムになります。以下、このようなカラムをベクターカラムと呼びます。ベクターカラムは、各レコードに複数の値を格納できるため、一対多の参照関係を表すのに便利です。
 
-他のテーブルを参照するベクターカラムにデータを入力する場合には、参照先のテーブルの_keyカラムの値の「配列」を代入する必要があります。
+さきほどテーブル参照の例として作成したカラムでは、各サイトに一つのリンクしか保存できませんでした。通常は一つのサイトから多くのサイトにリンクが張られているので、これでは残念な仕様になってしまいます。そこで、ベクターカラムを使って、複数のリンクを保存できるようにしてみましょう。
 
 .. FIXME: _idの配列ではダメなのかどうか。検証する。
 
@@ -73,4 +68,4 @@ column_createコマンドでカラムを作成するとき、--flagsオプショ
 .. [{"_key":"http://example.org/","links":["http://example.net/","http://example.org/","http://example.com/"]}]
 .. select --table Site --output_columns _key,title,links._key,links.title --query title:@this
 
-このように、複数の参照関係が保存できました。また、output_columnsによって、複数の参照先のカラム値も表示させることができました。
+新たなカラムにはSiteテーブルに対する参照の配列を格納するので、--typeオプションにSiteを指定するとともに、--flagsオプションにCOLUMN_VECTORフラグを指定しています。次に、 :doc:`/commands/load` による更新では、"http://example.org/"を主キー(_key)とするレコードに対し、3つのサイトをリンク先として格納しています。そして、最後にリンクの内容を確認しています。この例では、--output_columnsオプションに"links._key"と"links.title"を指定することにより、参照先の主キー(_key)とタイトル(title)をそれぞれ配列にしたものが表示されています。




Groonga-commit メーリングリストの案内
アーカイブの一覧に戻る