[Groonga-commit] pgroonga/pgroonga.github.io at b6de80a [master] Document about &^~ operator against text[]

Back to archive index

Kouhei Sutou null+****@clear*****
Tue May 31 23:58:23 JST 2016


Kouhei Sutou	2016-05-31 23:58:23 +0900 (Tue, 31 May 2016)

  New Revision: b6de80a7c57fb2fbe2b34573e18a3661d5383c80
  https://github.com/pgroonga/pgroonga.github.io/commit/b6de80a7c57fb2fbe2b34573e18a3661d5383c80

  Message:
    Document about &^~ operator against text[]

  Modified files:
    _po/ja/reference/index.po
    _po/ja/reference/operators/prefix-rk-search-v2.po
    ja/reference/index.md
    ja/reference/operators/prefix-rk-search-v2.md
    reference/index.md
    reference/operators/prefix-rk-search-v2.md

  Modified: _po/ja/reference/index.po (+4 -1)
===================================================================
--- _po/ja/reference/index.po    2016-05-31 23:16:23 +0900 (a0d6403)
+++ _po/ja/reference/index.po    2016-05-31 23:58:23 +0900 (14bd3ce)
@@ -1,7 +1,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2016-04-24 14:51+0900\n"
+"PO-Revision-Date: 2016-05-31 23:57+0900\n"
 "Language: ja\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -136,6 +136,9 @@ msgstr "    * [`&^`演算子](operators/prefix-search-v2.html)"
 msgid "    * [`&^~` operator](operators/prefix-rk-search-v2.html)"
 msgstr "    * [`&^~`演算子](operators/prefix-rk-search-v2.html)"
 
+msgid "  * `pgroonga.text_array_term_search_ops_v2` operator class"
+msgstr "  * `pgroonga.text_array_term_search_ops_v2`演算子クラス"
+
 msgid "## Functions"
 msgstr "## 関数"
 

  Modified: _po/ja/reference/operators/prefix-rk-search-v2.po (+42 -32)
===================================================================
--- _po/ja/reference/operators/prefix-rk-search-v2.po    2016-05-31 23:16:23 +0900 (865c36c)
+++ _po/ja/reference/operators/prefix-rk-search-v2.po    2016-05-31 23:58:23 +0900 (c0eb785)
@@ -1,7 +1,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2016-04-18 17:28+0900\n"
+"PO-Revision-Date: 2016-05-31 23:57+0900\n"
 "Language: ja\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -52,8 +52,8 @@ msgid ""
 "```"
 msgstr ""
 
-msgid "`column` is a column to be searched."
-msgstr "`column`は検索対象のカラムです。"
+msgid "`column` is a column to be searched. It's `text` type or `text[]` type."
+msgstr "`column`は検索対象のカラムです。`text`型か`text[]`型です。"
 
 msgid "`prefix` is a prefix to be found. It's `text` type."
 msgstr "`prefix`は含まれているべきプレフィックスです。`text`型です。"
@@ -74,26 +74,33 @@ msgstr "例に使うサンプルスキーマとデータは次の通りです。
 
 msgid ""
 "```sql\n"
-"CREATE TABLE tag_readings (\n"
-"  name text,\n"
-"  katakana text,\n"
-"  PRIMARY KEY (name, katakana)\n"
+"CREATE TABLE tags (\n"
+"  name text PRIMARY KEY,\n"
+"  readings text[]\n"
 ");"
 msgstr ""
 
 msgid ""
-"CREATE INDEX pgroonga_tag_reading_katakana_index ON tag_readings\n"
-"  USING pgroonga (katakana pgroonga.text_term_search_ops_v2);\n"
+"CREATE INDEX pgroonga_tags_index ON tags\n"
+"  USING pgroonga (readings pgroonga.text_array_term_search_ops_v2);\n"
 "```"
 msgstr ""
 
 msgid ""
+"Note: If you want to use prefix RK search against `text` type, use `pgroonga.t"
+"ext_term_search_ops_v2` operator class instead of `pgroonga.text_array_term_se"
+"arch_ops_v2` operator class."
+msgstr ""
+"注意:もし`text`型に対して前方一致RK検索を使いたい場合は、`pgroonga.text_array_term_search_ops_v2`演算子クラ"
+"スではなく、`pgroonga.text_term_search_ops_v2`演算子クラスを使ってください。"
+
+msgid ""
 "```sql\n"
-"INSERT INTO tag_readings VALUES ('PostgreSQL', 'ポストグレスキューエル');\n"
-"INSERT INTO tag_readings VALUES ('PostgreSQL', 'ポスグレ');\n"
-"INSERT INTO tag_readings VALUES ('Groonga',    'グルンガ');\n"
-"INSERT INTO tag_readings VALUES ('PGroonga',   'ピージールンガ');\n"
-"INSERT INTO tag_readings VALUES ('pglogical',  'ピージーロジカル');\n"
+"INSERT INTO tags VALUES ('PostgreSQL',\n"
+"                         ARRAY['ポストグレスキューエル', 'ポスグレ', 'ピージー']);\n"
+"INSERT INTO tags VALUES ('Groonga',    ARRAY['グルンガ']);\n"
+"INSERT INTO tags VALUES ('PGroonga',   ARRAY['ピージールンガ']);\n"
+"INSERT INTO tags VALUES ('pglogical',  ARRAY['ピージーロジカル']);\n"
 "```"
 msgstr ""
 
@@ -102,12 +109,13 @@ msgstr "`&^~`演算子を使うとローマ字でプレフィックスを指定
 
 msgid ""
 "```sql\n"
-"SELECT * FROM tag_readings WHERE katakana &^~ 'pi-ji-';\n"
-"--    name    |     katakana     \n"
-"-- -----------+------------------\n"
-"--  PGroonga  | ピージールンガ\n"
-"--  pglogical | ピージーロジカル\n"
-"-- (2 rows)\n"
+"SELECT * FROM tags WHERE readings &^~ 'pi-ji-';\n"
+"--     name    |                  readings                  \n"
+"-- ------------+--------------------------------------------\n"
+"--  PostgreSQL | {ポストグレスキューエル,ポスグレ,ピージー}\n"
+"--  PGroonga   | {ピージールンガ}\n"
+"--  pglogical  | {ピージーロジカル}\n"
+"-- (3 rows)\n"
 "```"
 msgstr ""
 
@@ -116,12 +124,13 @@ msgstr "プレフィックスにひらがなを使うこともできます。"
 
 msgid ""
 "```sql\n"
-"SELECT * FROM tag_readings WHERE katakana &^~ 'ぴーじー';\n"
-"--    name    |     katakana     \n"
-"-- -----------+------------------\n"
-"--  PGroonga  | ピージールンガ\n"
-"--  pglogical | ピージーロジカル\n"
-"-- (2 rows)\n"
+"SELECT * FROM tags WHERE readings &^~ 'ぴーじー';\n"
+"--     name    |                  readings                  \n"
+"-- ------------+--------------------------------------------\n"
+"--  PostgreSQL | {ポストグレスキューエル,ポスグレ,ピージー}\n"
+"--  PGroonga   | {ピージールンガ}\n"
+"--  pglogical  | {ピージーロジカル}\n"
+"-- (3 rows)\n"
 "```"
 msgstr ""
 
@@ -130,12 +139,13 @@ msgstr "プレフィックスにカタカナを使うこともできます。"
 
 msgid ""
 "```sql\n"
-"SELECT * FROM tag_readings WHERE katakana &^~ 'ピージー';\n"
-"--    name    |     katakana     \n"
-"-- -----------+------------------\n"
-"--  PGroonga  | ピージールンガ\n"
-"--  pglogical | ピージーロジカル\n"
-"-- (2 rows)\n"
+"SELECT * FROM tags WHERE readings &^~ 'ピージー';\n"
+"--     name    |                  readings                  \n"
+"-- ------------+--------------------------------------------\n"
+"--  PostgreSQL | {ポストグレスキューエル,ポスグレ,ピージー}\n"
+"--  PGroonga   | {ピージールンガ}\n"
+"--  pglogical  | {ピージーロジカル}\n"
+"-- (3 rows)\n"
 "```"
 msgstr ""
 

  Modified: ja/reference/index.md (+6 -0)
===================================================================
--- ja/reference/index.md    2016-05-31 23:16:23 +0900 (c57aee7)
+++ ja/reference/index.md    2016-05-31 23:58:23 +0900 (c90bea2)
@@ -66,6 +66,12 @@ PGroonga 1.Y.Zは`pgroonga.XXX_v2`という演算子クラスを提供します
 
     * [`&^~`演算子](operators/prefix-rk-search-v2.html)
 
+  * `pgroonga.text_array_term_search_ops_v2`演算子クラス
+
+    * [`&^`演算子](operators/prefix-search-v2.html)
+
+    * [`&^~`演算子](operators/prefix-rk-search-v2.html)
+
 ## 関数
 
   * [`pgroonga.score`関数](functions/pgroonga-score.html)

  Modified: ja/reference/operators/prefix-rk-search-v2.md (+34 -30)
===================================================================
--- ja/reference/operators/prefix-rk-search-v2.md    2016-05-31 23:16:23 +0900 (8cf222f)
+++ ja/reference/operators/prefix-rk-search-v2.md    2016-05-31 23:58:23 +0900 (e326580)
@@ -20,7 +20,7 @@ title: "&^~演算子"
 column &^~ prefix
 ```
 
-`column`は検索対象のカラムです。
+`column`は検索対象のカラムです。`text`型か`text[]`型です。
 
 `prefix`は含まれているべきプレフィックスです。`text`型です。
 
@@ -33,55 +33,59 @@ column &^~ prefix
 例に使うサンプルスキーマとデータは次の通りです。
 
 ```sql
-CREATE TABLE tag_readings (
-  name text,
-  katakana text,
-  PRIMARY KEY (name, katakana)
+CREATE TABLE tags (
+  name text PRIMARY KEY,
+  readings text[]
 );
 
-CREATE INDEX pgroonga_tag_reading_katakana_index ON tag_readings
-  USING pgroonga (katakana pgroonga.text_term_search_ops_v2);
+CREATE INDEX pgroonga_tags_index ON tags
+  USING pgroonga (readings pgroonga.text_array_term_search_ops_v2);
 ```
 
+注意:もし`text`型に対して前方一致RK検索を使いたい場合は、`pgroonga.text_array_term_search_ops_v2`演算子クラスではなく、`pgroonga.text_term_search_ops_v2`演算子クラスを使ってください。
+
 ```sql
-INSERT INTO tag_readings VALUES ('PostgreSQL', 'ポストグレスキューエル');
-INSERT INTO tag_readings VALUES ('PostgreSQL', 'ポスグレ');
-INSERT INTO tag_readings VALUES ('Groonga',    'グルンガ');
-INSERT INTO tag_readings VALUES ('PGroonga',   'ピージールンガ');
-INSERT INTO tag_readings VALUES ('pglogical',  'ピージーロジカル');
+INSERT INTO tags VALUES ('PostgreSQL',
+                         ARRAY['ポストグレスキューエル', 'ポスグレ', 'ピージー']);
+INSERT INTO tags VALUES ('Groonga',    ARRAY['グルンガ']);
+INSERT INTO tags VALUES ('PGroonga',   ARRAY['ピージールンガ']);
+INSERT INTO tags VALUES ('pglogical',  ARRAY['ピージーロジカル']);
 ```
 
 `&^~`演算子を使うとローマ字でプレフィックスを指定して前方一致RK検索を実行できます。
 
 ```sql
-SELECT * FROM tag_readings WHERE katakana &^~ 'pi-ji-';
---    name    |     katakana     
--- -----------+------------------
---  PGroonga  | ピージールンガ
---  pglogical | ピージーロジカル
--- (2 rows)
+SELECT * FROM tags WHERE readings &^~ 'pi-ji-';
+--     name    |                  readings                  
+-- ------------+--------------------------------------------
+--  PostgreSQL | {ポストグレスキューエル,ポスグレ,ピージー}
+--  PGroonga   | {ピージールンガ}
+--  pglogical  | {ピージーロジカル}
+-- (3 rows)
 ```
 
 プレフィックスにひらがなを使うこともできます。
 
 ```sql
-SELECT * FROM tag_readings WHERE katakana &^~ 'ぴーじー';
---    name    |     katakana     
--- -----------+------------------
---  PGroonga  | ピージールンガ
---  pglogical | ピージーロジカル
--- (2 rows)
+SELECT * FROM tags WHERE readings &^~ 'ぴーじー';
+--     name    |                  readings                  
+-- ------------+--------------------------------------------
+--  PostgreSQL | {ポストグレスキューエル,ポスグレ,ピージー}
+--  PGroonga   | {ピージールンガ}
+--  pglogical  | {ピージーロジカル}
+-- (3 rows)
 ```
 
 プレフィックスにカタカナを使うこともできます。
 
 ```sql
-SELECT * FROM tag_readings WHERE katakana &^~ 'ピージー';
---    name    |     katakana     
--- -----------+------------------
---  PGroonga  | ピージールンガ
---  pglogical | ピージーロジカル
--- (2 rows)
+SELECT * FROM tags WHERE readings &^~ 'ピージー';
+--     name    |                  readings                  
+-- ------------+--------------------------------------------
+--  PostgreSQL | {ポストグレスキューエル,ポスグレ,ピージー}
+--  PGroonga   | {ピージールンガ}
+--  pglogical  | {ピージーロジカル}
+-- (3 rows)
 ```
 
 ## 参考

  Modified: reference/index.md (+6 -0)
===================================================================
--- reference/index.md    2016-05-31 23:16:23 +0900 (77e673a)
+++ reference/index.md    2016-05-31 23:58:23 +0900 (f36c51d)
@@ -66,6 +66,12 @@ If you use them, you need to use [incompatible case steps](../upgrade/#incompati
 
     * [`&^~` operator](operators/prefix-rk-search-v2.html)
 
+  * `pgroonga.text_array_term_search_ops_v2` operator class
+
+    * [`&^` operator](operators/prefix-search-v2.html)
+
+    * [`&^~` operator](operators/prefix-rk-search-v2.html)
+
 ## Functions
 
   * [`pgroonga.score` function](functions/pgroonga-score.html)

  Modified: reference/operators/prefix-rk-search-v2.md (+34 -30)
===================================================================
--- reference/operators/prefix-rk-search-v2.md    2016-05-31 23:16:23 +0900 (42cb715)
+++ reference/operators/prefix-rk-search-v2.md    2016-05-31 23:58:23 +0900 (faa4b26)
@@ -20,7 +20,7 @@ Prefix RK search is useful for implementing input completion.
 column &^~ prefix
 ```
 
-`column` is a column to be searched.
+`column` is a column to be searched. It's `text` type or `text[]` type.
 
 `prefix` is a prefix to be found. It's `text` type.
 
@@ -33,55 +33,59 @@ The operator returns `true` when the `column` value starts with `prefix`.
 Here are sample schema and data for examples:
 
 ```sql
-CREATE TABLE tag_readings (
-  name text,
-  katakana text,
-  PRIMARY KEY (name, katakana)
+CREATE TABLE tags (
+  name text PRIMARY KEY,
+  readings text[]
 );
 
-CREATE INDEX pgroonga_tag_reading_katakana_index ON tag_readings
-  USING pgroonga (katakana pgroonga.text_term_search_ops_v2);
+CREATE INDEX pgroonga_tags_index ON tags
+  USING pgroonga (readings pgroonga.text_array_term_search_ops_v2);
 ```
 
+Note: If you want to use prefix RK search against `text` type, use `pgroonga.text_term_search_ops_v2` operator class instead of `pgroonga.text_array_term_search_ops_v2` operator class.
+
 ```sql
-INSERT INTO tag_readings VALUES ('PostgreSQL', 'ポストグレスキューエル');
-INSERT INTO tag_readings VALUES ('PostgreSQL', 'ポスグレ');
-INSERT INTO tag_readings VALUES ('Groonga',    'グルンガ');
-INSERT INTO tag_readings VALUES ('PGroonga',   'ピージールンガ');
-INSERT INTO tag_readings VALUES ('pglogical',  'ピージーロジカル');
+INSERT INTO tags VALUES ('PostgreSQL',
+                         ARRAY['ポストグレスキューエル', 'ポスグレ', 'ピージー']);
+INSERT INTO tags VALUES ('Groonga',    ARRAY['グルンガ']);
+INSERT INTO tags VALUES ('PGroonga',   ARRAY['ピージールンガ']);
+INSERT INTO tags VALUES ('pglogical',  ARRAY['ピージーロジカル']);
 ```
 
 You can perform prefix RK search with prefix in Romaji by `&^~` operator:
 
 ```sql
-SELECT * FROM tag_readings WHERE katakana &^~ 'pi-ji-';
---    name    |     katakana     
--- -----------+------------------
---  PGroonga  | ピージールンガ
---  pglogical | ピージーロジカル
--- (2 rows)
+SELECT * FROM tags WHERE readings &^~ 'pi-ji-';
+--     name    |                  readings                  
+-- ------------+--------------------------------------------
+--  PostgreSQL | {ポストグレスキューエル,ポスグレ,ピージー}
+--  PGroonga   | {ピージールンガ}
+--  pglogical  | {ピージーロジカル}
+-- (3 rows)
 ```
 
 You can also use Hiragana for prefix:
 
 ```sql
-SELECT * FROM tag_readings WHERE katakana &^~ 'ぴーじー';
---    name    |     katakana     
--- -----------+------------------
---  PGroonga  | ピージールンガ
---  pglogical | ピージーロジカル
--- (2 rows)
+SELECT * FROM tags WHERE readings &^~ 'ぴーじー';
+--     name    |                  readings                  
+-- ------------+--------------------------------------------
+--  PostgreSQL | {ポストグレスキューエル,ポスグレ,ピージー}
+--  PGroonga   | {ピージールンガ}
+--  pglogical  | {ピージーロジカル}
+-- (3 rows)
 ```
 
 You can also use Katakana for prefix:
 
 ```sql
-SELECT * FROM tag_readings WHERE katakana &^~ 'ピージー';
---    name    |     katakana     
--- -----------+------------------
---  PGroonga  | ピージールンガ
---  pglogical | ピージーロジカル
--- (2 rows)
+SELECT * FROM tags WHERE readings &^~ 'ピージー';
+--     name    |                  readings                  
+-- ------------+--------------------------------------------
+--  PostgreSQL | {ポストグレスキューエル,ポスグレ,ピージー}
+--  PGroonga   | {ピージールンガ}
+--  pglogical  | {ピージーロジカル}
+-- (3 rows)
 ```
 
 ## See also
-------------- next part --------------
HTML����������������������������...
下载 



More information about the Groonga-commit mailing list
Back to archive index