これはPGroonga 2.0.0以降用のドキュメントです。PGroonga 1.Xを使っているなら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検索
@>演算子:配列を使った包含検索
&=~演算子:便利なクエリー言語を使った等価検索
pgroonga_text_array_regexp_ops_v2演算子クラス3.2.5で追加。
&~演算子:正規表現を使った検索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_language_model_vectorize function
pgroonga.enable_row_level_securityパラメーター
pgroonga.enable_trace_logパラメーター
pgroonga.enable_wal_resource_managerパラメーター
pgroonga.log_rotate_threshold_sizeパラメーター
pgroonga.max_bulk_insert_wal_record_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のドキュメントを参照してください。