Kouhei Sutou
null+****@clear*****
Sun Apr 24 18:38:34 JST 2016
Kouhei Sutou 2016-04-24 18:38:34 +0900 (Sun, 24 Apr 2016) New Revision: b7165437d66f25dead81ee0b512687e554aec66f https://github.com/pgroonga/pgroonga.github.io/commit/b7165437d66f25dead81ee0b512687e554aec66f Message: Document pgroonga.match_positions_byte() Modified files: _po/ja/reference/functions/pgroonga-match-positions-byte.po ja/reference/functions/pgroonga-match-positions-byte.md reference/functions/pgroonga-match-positions-byte.md Modified: _po/ja/reference/functions/pgroonga-match-positions-byte.po (+147 -4) =================================================================== --- _po/ja/reference/functions/pgroonga-match-positions-byte.po 2016-04-24 18:19:18 +0900 (24f1401) +++ _po/ja/reference/functions/pgroonga-match-positions-byte.po 2016-04-24 18:38:34 +0900 (652a732) @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2016-04-19 15:20+0900\n" +"PO-Revision-Date: 2016-04-24 18:38+0900\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,15 +14,158 @@ msgid "" "layout: en\n" "---" msgstr "" +"---\n" +"title: pgroonga.match_positions_byte関数\n" +"layout: ja\n" +"---" msgid "# `pgroonga.match_positions_byte` function" -msgstr "" +msgstr "# `pgroonga.match_positions_byte`関数" msgid "Since 1.0.7." -msgstr "" +msgstr "1.0.7で追加。" msgid "## Summary" msgstr "## 概要" -msgid "TODO" +msgid "" +"`pgroonga.match_positions_byte` function returns positions of the specified ke" +"ywords in the specified text. The unit of position is byte. If you want to hig" +"hlight keywords for HTML output, [`pgroonga.snippet_html` function](pgroonga-s" +"nippet-html.html) or [`pgroonga.highlight_html` function](pgroonga-highlight-h" +"tml.html) will be suitable. `pgroonga.match_positions_byte` function is for ad" +"vanced use." +msgstr "" +"`pgroonga.match_positions_byte`関数は指定したテキスト中にある指定したキーワードの位置を返します。HTML出力用にキーワードを" +"ハイライトしたいなら[`pgroonga.snippet_html`関数](pgroonga-snippet-html.html)または[`pgroonga" +".highlight_html`関数](pgroonga-highlight-html.html)の方が適しているでしょう。`pgroonga.match_" +"positions_byte`関数は高度な用途向けです。" + +msgid "## Syntax" +msgstr "## 構文" + +msgid "Here is the syntax of this function:" +msgstr "この関数の構文は次の通りです。" + +msgid "" +"```text\n" +"integer[2][] pgroonga.match_positions_byte(target, ARRAY[keyword1, keyword2, ." +"..])\n" +"```" +msgstr "" + +msgid "`target` is a text to be searched. It's `text` type." +msgstr "`target`はキーワード検索対象のテキストです。型は`text`です。" + +msgid "" +"`keyword1`, `keyword2`, `...` are keywords to be found. They're an array of `t" +"ext` type. You must specify one or more keywords." +msgstr "" +"`keyword1`、`keyword2`、`...`は見つけたいキーワードです。型は`text`の配列です。1つ以上のキーワードを指定しなければいけません" +"。" + +msgid "`pgroonga.match_positions_byte` returns an array of positions." +msgstr "`pgroonga.match_positions_byte`は位置の配列を返します。" + +msgid "" +"Position consists of offset and length. Offset is the start byte from the begi" +"nning. Length is the number of bytes of matched text. Length may be different " +"size with the length of keyword. Because keyword and matched text are normaliz" +"ed." +msgstr "" +"位置は「オフセット」と「長さ」で表現します。「オフセット」は先頭からキーワードが現れた位置までのバイト数です。「長さ」はマッチしたテキストのバイト数です。「" +"長さ」はキーワードの長さと違うかもしれません。これはキーワードもマッチしたテキストも正規化されるからです。" + +msgid "## Usage" +msgstr "## 使い方" + +msgid "You need to specify at least one keyword:" +msgstr "少なくとも1つキーワードを指定しなければいけません。" + +msgid "" +"```sql\n" +"SELECT pgroonga.match_positions_byte('PGroonga is a PostgreSQL extension.',\n" +" ARRAY['PostgreSQL']);\n" +"-- match_positions_byte \n" +"-- ----------------------\n" +"-- {{14,10}}\n" +"-- (1 row)\n" +"```" +msgstr "" + +msgid "You can specify multiple keywords:" +msgstr "複数のキーワードを指定できます。" + +msgid "" +"```sql\n" +"SELECT pgroonga.match_positions_byte('PGroonga is a PostgreSQL extension.',\n" +" ARRAY['Groonga', 'PostgreSQL']);\n" +"-- match_positions_byte \n" +"-- ----------------------\n" +"-- {{1,7},{14,10}}\n" +"-- (1 row)\n" +"```" +msgstr "" + +msgid "" +"You can extract keywords from query by [`pgroonga.query_extract_keywords` func" +"tion](pgroonga-query-extract-keywords.html):" +msgstr "" +"[`pgroonga.query_extract_keywords`関数](pgroonga-query-extract-keywords.html)を使う" +"とクエリーからキーワードを抽出できます。" + +msgid "" +"```sql\n" +"SELECT pgroonga.match_positions_byte('PGroonga is a PostgreSQL extension.',\n" +" pgroonga.query_extract_keywords('Groonga " +"PostgreSQL -extension'));\n" +"-- match_positions_byte \n" +"-- ----------------------\n" +"-- {{1,7},{14,10}}\n" +"-- (1 row)\n" +"```" +msgstr "" + +msgid "Characters are normalized:" +msgstr "文字は正規化されます。" + +msgid "" +"```sql\n" +"SELECT pgroonga.match_positions_byte('PGroonga + pglogical = replicatable!',\n" +" ARRAY['Pg']);\n" +"-- match_positions_byte \n" +"-- ----------------------\n" +"-- {{0,2},{11,2}}\n" +"-- (1 row)\n" +"```" +msgstr "" + +msgid "Multibyte characters are also supported:" +msgstr "マルチバイト文字にも対応しています。" + +msgid "" +"```sql\n" +"SELECT pgroonga.match_positions_byte('10㌖先にある100キログラムの米',\n" +" ARRAY['キロ']);\n" +"-- match_positions_byte \n" +"-- ----------------------\n" +"-- {{2,3},{20,6}}\n" +"-- (1 row)\n" +"```" +msgstr "" + +msgid "## See also" +msgstr "## 参考" + +msgid " * [`pgroonga.snippet_html` function](pgroonga-query-snippet-html.html)" +msgstr " * [`pgroonga.snippet_html`関数](pgroonga-query-snippet-html.html)" + +msgid " * [`pgroonga.highlight_html` function](pgroonga-query-highlight-html.html)" +msgstr " * [`pgroonga.highlight_html`関数](pgroonga-query-highlight-html.html)" + +msgid "" +" * [`pgroonga.query_extract_keywords` function](pgroonga-query-extract-keywor" +"ds.html)" msgstr "" +" * [`pgroonga.query_extract_keywords`関数](pgroonga-query-extract-keywords.html" +")" Modified: ja/reference/functions/pgroonga-match-positions-byte.md (+87 -5) =================================================================== --- ja/reference/functions/pgroonga-match-positions-byte.md 2016-04-24 18:19:18 +0900 (20de301) +++ ja/reference/functions/pgroonga-match-positions-byte.md 2016-04-24 18:38:34 +0900 (500eb87) @@ -1,12 +1,94 @@ --- -title: pgroonga.match_positions_byte function -layout: en +title: pgroonga.match_positions_byte関数 +layout: ja --- -# `pgroonga.match_positions_byte` function +# `pgroonga.match_positions_byte`関数 -Since 1.0.7. +1.0.7で追加。 ## 概要 -TODO +`pgroonga.match_positions_byte`関数は指定したテキスト中にある指定したキーワードの位置を返します。HTML出力用にキーワードをハイライトしたいなら[`pgroonga.snippet_html`関数](pgroonga-snippet-html.html)または[`pgroonga.highlight_html`関数](pgroonga-highlight-html.html)の方が適しているでしょう。`pgroonga.match_positions_byte`関数は高度な用途向けです。 + +## 構文 + +この関数の構文は次の通りです。 + +```text +integer[2][] pgroonga.match_positions_byte(target, ARRAY[keyword1, keyword2, ...]) +``` + +`target`はキーワード検索対象のテキストです。型は`text`です。 + +`keyword1`、`keyword2`、`...`は見つけたいキーワードです。型は`text`の配列です。1つ以上のキーワードを指定しなければいけません。 + +`pgroonga.match_positions_byte`は位置の配列を返します。 + +位置は「オフセット」と「長さ」で表現します。「オフセット」は先頭からキーワードが現れた位置までのバイト数です。「長さ」はマッチしたテキストのバイト数です。「長さ」はキーワードの長さと違うかもしれません。これはキーワードもマッチしたテキストも正規化されるからです。 + +## 使い方 + +少なくとも1つキーワードを指定しなければいけません。 + +```sql +SELECT pgroonga.match_positions_byte('PGroonga is a PostgreSQL extension.', + ARRAY['PostgreSQL']); +-- match_positions_byte +-- ---------------------- +-- {{14,10}} +-- (1 row) +``` + +複数のキーワードを指定できます。 + +```sql +SELECT pgroonga.match_positions_byte('PGroonga is a PostgreSQL extension.', + ARRAY['Groonga', 'PostgreSQL']); +-- match_positions_byte +-- ---------------------- +-- {{1,7},{14,10}} +-- (1 row) +``` + +[`pgroonga.query_extract_keywords`関数](pgroonga-query-extract-keywords.html)を使うとクエリーからキーワードを抽出できます。 + +```sql +SELECT pgroonga.match_positions_byte('PGroonga is a PostgreSQL extension.', + pgroonga.query_extract_keywords('Groonga PostgreSQL -extension')); +-- match_positions_byte +-- ---------------------- +-- {{1,7},{14,10}} +-- (1 row) +``` + +文字は正規化されます。 + +```sql +SELECT pgroonga.match_positions_byte('PGroonga + pglogical = replicatable!', + ARRAY['Pg']); +-- match_positions_byte +-- ---------------------- +-- {{0,2},{11,2}} +-- (1 row) +``` + +マルチバイト文字にも対応しています。 + +```sql +SELECT pgroonga.match_positions_byte('10㌖先にある100キログラムの米', + ARRAY['キロ']); +-- match_positions_byte +-- ---------------------- +-- {{2,3},{20,6}} +-- (1 row) +``` + +## 参考 + + * [`pgroonga.snippet_html`関数](pgroonga-query-snippet-html.html) + + * [`pgroonga.highlight_html`関数](pgroonga-query-highlight-html.html) + + * [`pgroonga.query_extract_keywords`関数](pgroonga-query-extract-keywords.html) + Modified: reference/functions/pgroonga-match-positions-byte.md (+83 -1) =================================================================== --- reference/functions/pgroonga-match-positions-byte.md 2016-04-24 18:19:18 +0900 (82b8a2d) +++ reference/functions/pgroonga-match-positions-byte.md 2016-04-24 18:38:34 +0900 (036075c) @@ -9,4 +9,86 @@ Since 1.0.7. ## Summary -TODO +`pgroonga.match_positions_byte` function returns positions of the specified keywords in the specified text. The unit of position is byte. If you want to highlight keywords for HTML output, [`pgroonga.snippet_html` function](pgroonga-snippet-html.html) or [`pgroonga.highlight_html` function](pgroonga-highlight-html.html) will be suitable. `pgroonga.match_positions_byte` function is for advanced use. + +## Syntax + +Here is the syntax of this function: + +```text +integer[2][] pgroonga.match_positions_byte(target, ARRAY[keyword1, keyword2, ...]) +``` + +`target` is a text to be searched. It's `text` type. + +`keyword1`, `keyword2`, `...` are keywords to be found. They're an array of `text` type. You must specify one or more keywords. + +`pgroonga.match_positions_byte` returns an array of positions. + +Position consists of offset and length. Offset is the start byte from the beginning. Length is the number of bytes of matched text. Length may be different size with the length of keyword. Because keyword and matched text are normalized. + +## Usage + +You need to specify at least one keyword: + +```sql +SELECT pgroonga.match_positions_byte('PGroonga is a PostgreSQL extension.', + ARRAY['PostgreSQL']); +-- match_positions_byte +-- ---------------------- +-- {{14,10}} +-- (1 row) +``` + +You can specify multiple keywords: + +```sql +SELECT pgroonga.match_positions_byte('PGroonga is a PostgreSQL extension.', + ARRAY['Groonga', 'PostgreSQL']); +-- match_positions_byte +-- ---------------------- +-- {{1,7},{14,10}} +-- (1 row) +``` + +You can extract keywords from query by [`pgroonga.query_extract_keywords` function](pgroonga-query-extract-keywords.html): + +```sql +SELECT pgroonga.match_positions_byte('PGroonga is a PostgreSQL extension.', + pgroonga.query_extract_keywords('Groonga PostgreSQL -extension')); +-- match_positions_byte +-- ---------------------- +-- {{1,7},{14,10}} +-- (1 row) +``` + +Characters are normalized: + +```sql +SELECT pgroonga.match_positions_byte('PGroonga + pglogical = replicatable!', + ARRAY['Pg']); +-- match_positions_byte +-- ---------------------- +-- {{0,2},{11,2}} +-- (1 row) +``` + +Multibyte characters are also supported: + +```sql +SELECT pgroonga.match_positions_byte('10㌖先にある100キログラムの米', + ARRAY['キロ']); +-- match_positions_byte +-- ---------------------- +-- {{2,3},{20,6}} +-- (1 row) +``` + +## See also + + * [`pgroonga.snippet_html` function](pgroonga-query-snippet-html.html) + + * [`pgroonga.highlight_html` function](pgroonga-query-highlight-html.html) + + * [`pgroonga.query_extract_keywords` function](pgroonga-query-extract-keywords.html) + -------------- next part -------------- HTML����������������������������...다운로드