これはPGroonga 2.X and 3.X用のドキュメントです。古いPGroongaを使っているならPGroonga 1.xのドキュメントを見てください。
このドキュメントはすべての機能を説明しています。チュートリアルは重要な機能だけを簡単に理解できることに注力しています。このドキュメントは完全に説明することに注力しています。もし、まだチュートリアルを読んでいない場合は、このドキュメントを読む前にチュートリアルを読んでください。
pgroonga
スキーマpgroonga
スキーマは2.0.0から非推奨です。新しく書くコードではpgroonga
スキーマではなくカレントスキーマに定義されているpgroonga_*
関数・演算子・演算子クラスを使ってください。
PGroongaはpgroonga
スキーマに関数・演算子・演算子クラスなどを定義します。デフォルトではスーパーユーザーしかpgroonga
スキーマの機能を使えません。スーパーユーザーはPGroongaを使いたいすべての一般ユーザーにpgroonga
スキーマのUSAGE
権限を与えなければいけません。
pgroonga
インデックス2.3.3で追加。
すべてのv2演算子はPostgreSQLの行レベルセキュリティーをサポートしています。
text
用pgroonga_text_full_text_search_ops_v2
演算子クラス(デフォルト)ILIKE
演算子
&@
演算子:キーワード1つでの全文検索
%%
operator:キーワード1つでの全文検索
&@~
演算子:便利なクエリー言語を使った全文検索
&?
演算子:便利なクエリー言語を使った全文検索
&@~
演算子を使ってください。@@
演算子:便利なクエリー言語を使った全文検索
&@*
演算子:類似文書検索
&~?
演算子:類似文書検索
&@*
演算子を使ってください。&`
演算子:ECMAScriptのようなクエリー言語を使った高度な検索
&@|
演算子:キーワードの配列での全文検索
&@>
演算子:キーワードの配列での全文検索
&@|
演算子を使ってください。&@~|
演算子:便利なクエリー言語を使ったクエリーの配列での全文検索
&?|
演算子:便利なクエリー言語を使ったクエリーの配列での全文検索
&@~|
演算子を使ってください。&?>
演算子:便利なクエリー言語を使ったクエリーの配列での全文検索
&@~|
演算子を使ってください。pgroonga_text_term_search_ops_v2
演算子クラス<
<=
=
>=
>
&=
演算子: 完全一致検索
&^
演算子:前方一致検索
&^~
演算子:前方一致RK検索
&^|
演算子:プレフィックスの配列での前方一致検索
&^>
演算子:プレフィックスの配列での前方一致検索
&^|
演算子を使ってください。!&^|
演算子:プレフィックスの配列での否定前方一致検索
&^~|
演算子:プレフィックスの配列での前方一致RK検索
&^~>
演算子:プレフィックスの配列での前方一致RK検索
&^~|
演算子を使ってください。pgroonga_text_regexp_ops_v2
演算子クラスILIKE
演算子
&~
演算子:正規表現を使った検索
@~
演算子:正規表現を使った検索
&~|
演算子:正規表現の配列を使った検索
text[]
用pgroonga_text_array_full_text_search_ops_v2
演算子クラス(デフォルト)&@
演算子:キーワード1つでの全文検索
%%
operator:キーワード1つでの全文検索
&@~
演算子:便利なクエリー言語を使った全文検索
&?
演算子:便利なクエリー言語を使った全文検索
&@~
演算子を使ってください。@@
演算子:便利なクエリー言語を使った全文検索
&@*
演算子:類似文書検索
&~?
演算子:類似文書検索
&@*
演算子を使ってください。&`
演算子:ECMAScriptのようなクエリー言語を使った高度な検索
&@|
演算子:キーワードの配列での全文検索
&@>
演算子:キーワードの配列での全文検索
&@|
演算子を使ってください。&@~|
演算子:便利なクエリー言語を使ったクエリーの配列での全文検索
&?|
演算子:便利なクエリー言語を使ったクエリーの配列での全文検索
&@~|
演算子を使ってください。&?>
演算子:便利なクエリー言語を使ったクエリーの配列での全文検索
&@~|
演算子を使ってください。pgroonga_text_array_term_search_ops_v2
演算子クラス&^
演算子:前方一致検索
&^>
演算子:前方一致検索
&^
演算子を使ってください。&^~
演算子:前方一致RK検索
&^~>
演算子:前方一致RK検索
&^~
演算子を使ってください。&^|
演算子:プレフィックスの配列での前方一致検索
&^~|
演算子:プレフィックスの配列での前方一致RK検索
@>
演算子:配列を使った包含検索
&=~
演算子:便利なクエリー言語を使った等価検索
varchar
用pgroonga_varchar_term_search_ops_v2
演算子クラス(デフォルト)<
<=
=
>=
>
&=
演算子: 完全一致検索
&^
演算子:前方一致検索
&^~
演算子:前方一致RK検索
&^|
演算子:プレフィックスの配列での前方一致検索
&^~|
演算子:プレフィックスの配列での前方一致RK検索
pgroonga_varchar_full_text_search_ops_v2
演算子クラス&@
演算子:キーワード1つでの全文検索
%%
operator:キーワード1つでの全文検索
&@~
演算子:便利なクエリー言語を使った全文検索
&?
演算子:便利なクエリー言語を使った全文検索
&@~
演算子を使ってください。@@
演算子:便利なクエリー言語を使った全文検索
&@*
演算子:類似文書検索
&~?
演算子:類似文書検索
&@*
演算子を使ってください。&`
演算子:ECMAScriptのようなクエリー言語を使った高度な検索
&@|
演算子:キーワードの配列での全文検索
&@>
演算子:キーワードの配列での全文検索
&@|
演算子を使ってください。&@~|
演算子:便利なクエリー言語を使ったクエリーの配列での全文検索
&?|
演算子:便利なクエリー言語を使ったクエリーの配列での全文検索
&@~|
演算子を使ってください。&?>
演算子:便利なクエリー言語を使ったクエリーの配列での全文検索
&@~|
演算子を使ってください。pgroonga_varchar_regexp_ops_v2
演算子クラス&~
演算子:正規表現を使った検索
@~
演算子:正規表現を使った検索
&~|
演算子:正規表現の配列を使った検索
varchar[]
用pgroonga_varchar_array_term_search_ops_v2
演算子クラス(デフォルト)&>
演算子:検索対象の単語の配列に指定した単語が含まれているかをチェック
%%
演算子:検索対象の単語の配列に指定した単語が含まれているかをチェック
@>
演算子:配列を使った包含検索
&=~
演算子:便利なクエリー言語を使った等価検索
サポートしている型:boolean
、smallint
、integer
、bigint
、real
、double precision
、timestamp
、timestamp with time zone
<
<=
=
>=
>
jsonb
用pgroonga_jsonb_ops_v2
演算子クラス(デフォルト)&@
演算子:jsonb
内のすべてのテキストデータをキーワード1つで全文検索
&@~
演算子:jsonb
内のすべてのテキストデータを便利なクエリー言語を使った全文検索
&?
演算子:jsonb
内のすべてのテキストデータを便利なクエリー言語を使った全文検索
&@~
演算子を使ってください。&`
演算子:ECMAScriptのようなクエリー言語を使った高度な検索
@@
演算子:ECMAScriptのようなクエリー言語を使った高度な検索
@>
演算子:jsonb
データを使った検索
pgroonga_jsonb_full_text_search_ops_v2
演算子クラスtext
用pgroonga_text_full_text_search_ops
演算子クラス2.0.0から非推奨です。
代わりにpgroonga_text_full_text_search_ops_v2
演算子クラスを使ってください。
ILIKE
演算子
&@
演算子:キーワード1つでの全文検索
%%
operator:キーワード1つでの全文検索
&@
演算子を使ってください。&@~
演算子:便利なクエリー言語を使った全文検索
&?
演算子:便利なクエリー言語を使った全文検索
&@~
演算子を使ってください。@@
演算子:便利なクエリー言語を使った全文検索
&@~
演算子を使ってください。pgroonga_text_regexp_ops
演算子クラス2.0.0から非推奨です。
代わりにpgroonga_text_regexp_ops_v2
演算子クラスを使ってください。
text[]
用pgroonga_text_array_full_text_search_ops
演算子クラス2.0.0から非推奨です。
代わりにpgroonga_text_array_full_text_search_ops_v2
演算子クラスを使ってください。
&@
演算子:キーワード1つでの全文検索
%%
operator:キーワード1つでの全文検索
&@
演算子を使ってください。&@~
演算子:便利なクエリー言語を使った全文検索
&?
演算子:便利なクエリー言語を使った全文検索
&@~
演算子を使ってください。@@
演算子:便利なクエリー言語を使った全文検索
&@~
演算子を使ってください。varchar
用pgroonga_varchar_ops
演算子クラス2.0.0から非推奨です。
代わりにpgroonga_varchar_term_search_ops_v2
演算子クラスを使ってください。
<
<=
=
>=
>
pgroonga_varchar_full_text_search_ops
演算子クラス2.0.0から非推奨です。
代わりにpgroonga_varchar_full_text_search_ops_v2
演算子クラスを使ってください。
&@
演算子:キーワード1つでの全文検索
%%
operator:キーワード1つでの全文検索
&@
演算子を使ってください。&@~
演算子:便利なクエリー言語を使った全文検索
&?
演算子:便利なクエリー言語を使った全文検索
&@~
演算子を使ってください。@@
演算子:便利なクエリー言語を使った全文検索
&@~
演算子を使ってください。pgroonga_varchar_regexp_ops
演算子クラス2.0.0から非推奨です。
代わりにpgroonga_varchar_regexp_ops_v2
演算子クラスを使ってください。
varchar[]
用pgroonga_varchar_array_ops
演算子クラス2.0.0から非推奨です。
代わりにpgroonga_varchar_array_term_search_ops_v2
演算子クラスを使ってください。
&>
演算子:検索対象の単語の配列に指定した単語が含まれているかをチェック
%%
演算子:検索対象の単語の配列に指定した単語が含まれているかをチェック
&>
演算子を使ってください。jsonb
用pgroonga_jsonb_ops
演算子クラス2.0.0から非推奨です。
代わりにpgroonga_jsonb_ops_v2
演算子クラスを使ってください。
&@
演算子:jsonb
内のすべてのテキストデータをキーワード1つで全文検索
&@~
演算子:jsonb
内のすべてのテキストデータを便利なクエリー言語を使った全文検索
&?
演算子:jsonb
内のすべてのテキストデータを便利なクエリー言語を使った全文検索
&@~
演算子を使ってください。&`
演算子:ECMAScriptのようなクエリー言語を使った高度な検索
@@
演算子:ECMAScriptのようなクエリー言語を使った高度な検索
&`
演算子を使ってください。@>
演算子:jsonb
データを使った検索
pgroonga.enable_row_level_security
パラメーター
pgroonga.enable_trace_log
パラメーター
pgroonga.enable_wal_resource_manager
パラメーター
pgroonga.log_rotate_threshold_size
パラメーター
pgroonga.query_log_rotate_threshold_size
パラメーター
pgroonga_crash_safer.flush_naptime
パラメーター
pgroonga_crash_safer.log_level
パラメーター
pgroonga_crash_safer.log_path
パラメーター
pgroonga_crash_safer.max_recovery_threads
パラメーター
pgroonga_standby_maintainer.max_parallel_wal_appliers_per_db
パラメーター
pgroonga_standby_maintainer.naptime
パラメーター
pgroonga_wal_resource_manager.log_level
パラメーター
pgroonga_wal_resource_manager.log_path
パラメーター
pgroonga_crash_safer
モジュールを使ってください。pgroonga_crash_safer
モジュールを使ってください。2.3.3で追加。
pgroonga_wal_applier
モジュール は、2.4.2から非推奨です。代わりに pgroonga_standby_maintainer
モジュール を使ってください。
pgroonga_standby_maintainer
モジュール
pgroonga_wal_resource_manager
モジュール
pgroonga-primary-maintainer.sh
コマンド
pgroonga-generate-primary-maintainer-service.sh
コマンド
pgroonga-generate-primary-maintainer-timer.sh
コマンド
pgroonga_command
関数内で以下のGroongaの関数を使えます。WHERE
節では使えません。
通常、PGroongaはデフォルトで高速に動くため、特別にPGroongaをチューニングする必要はありません。
しかし、非常に大きなデータベースを扱うなどいくつかのケースではPGroongaをチューニングする必要があります。PGroongaはバックエンドとしてGroongaを使っています。つまり、Groonga用のチューニング知識をPGroongaでも使えるということです。PGroongaをチューニングする場合は以下のGroongaのドキュメントを参照してください。