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����������������������������...Download