これはPGroonga 1.X用のドキュメントです。新しいPGroongaを使っているならPGroonga 2.xのドキュメントを見てください。
これらはPGroonga 4.0.0で削除されました。PGroonga 4.0.0以降では利用できません。
このドキュメントはすべての機能を説明しています。チュートリアルは重要な機能だけを簡単に理解できることに注力しています。このドキュメントは完全に説明することに注力しています。もし、まだチュートリアルを読んでいない場合は、このドキュメントを読む前にチュートリアルを読んでください。
pgroongaスキーマPGroongaはpgroongaスキーマに関数・演算子・演算子クラスなどを定義します。デフォルトではスーパーユーザーしかpgroongaスキーマの機能を使えません。スーパーユーザーはPGroongaを使いたいすべての一般ユーザーにpgroongaスキーマのUSAGE権限を与えなければいけません。
pgroongaインデックスtext用pgroonga.text_full_text_search_ops演算子クラス(デフォルト)ILIKE演算子
&@演算子:キーワード1つでの全文検索
%% operator:キーワード1つでの全文検索
&@演算子を使ってください。&@~演算子:便利なクエリー言語を使った全文検索
&?演算子:便利なクエリー言語を使った全文検索
&@~演算子を使ってください。@@演算子:便利なクエリー言語を使った全文検索
&@~演算子を使ってください。pgroonga.text_regexp_ops演算子クラスtext[]用&@演算子:キーワード1つでの全文検索
%% operator:キーワード1つでの全文検索
&@演算子を使ってください。&@~演算子:便利なクエリー言語を使った全文検索
&?演算子:便利なクエリー言語を使った全文検索
&@~演算子を使ってください。@@演算子:便利なクエリー言語を使った全文検索
&@~演算子を使ってください。varchar用pgroonga.varchar_ops演算子クラス(デフォルト)<
<=
=
>=
>
pgroonga.varchar_full_text_search_ops演算子クラス&@演算子:キーワード1つでの全文検索
%% operator:キーワード1つでの全文検索
&@演算子を使ってください。&@~演算子:便利なクエリー言語を使った全文検索
&?演算子:便利なクエリー言語を使った全文検索
&@~演算子を使ってください。@@演算子:便利なクエリー言語を使った全文検索
&@~演算子を使ってください。pgroonga.varchar_regexp_ops演算子クラスvarchar[]用pgroonga.varchar_array_ops演算子クラス(デフォルト)&>演算子:検索対象の単語の配列に指定した単語が含まれているかをチェック
%%演算子:検索対象の単語の配列に指定した単語が含まれているかをチェック
&>演算子を使ってください。サポートしている型:boolean、smallint、integer、bigint、real、double precision、timestamp、timestamp with time zone
<
<=
=
>=
>
jsonb用pgroonga.jsonb_ops演算子クラス(デフォルト)&@演算子:jsonb内のすべてのテキストデータをキーワード1つで全文検索
&@~演算子:jsonb内のすべてのテキストデータを便利なクエリー言語を使った全文検索
&?演算子:jsonb内のすべてのテキストデータを便利なクエリー言語を使った全文検索
&@~演算子を使ってください。&`演算子:ECMAScriptのようなクエリー言語を使った高度な検索
@@演算子:ECMAScriptのようなクエリー言語を使った高度な検索
&`演算子を使ってください。@>演算子:jsonbデータを使った検索
PGroonga 1.Y.Zはpgroonga.XXX_v2という演算子クラスを提供します。これらはPGroonga 2.0.0になるまで後方互換性を提供しません。しかし、これらの演算子クラスには新しいバージョンがリリースされるごとに積極的に多くの改良が入ります。
これらを使った場合、PGroongaをアップグレードする場合は非互換の場合の手順を使う必要があります。
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演算子クラス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_full_text_search_ops_v2演算子クラス&@演算子:キーワード1つでの全文検索
%% operator:キーワード1つでの全文検索
&@~演算子:便利なクエリー言語を使った全文検索
&?演算子:便利なクエリー言語を使った全文検索
&@~演算子を使ってください。@@演算子:便利なクエリー言語を使った全文検索
&@*演算子:類似文書検索
&~?演算子:類似文書検索
&@*演算子を使ってください。&`演算子:ECMAScriptのようなクエリー言語を使った高度な検索
&@|演算子:キーワードの配列での全文検索
&@>演算子:キーワードの配列での全文検索
&@|演算子を使ってください。&@~|演算子:便利なクエリー言語を使ったクエリーの配列での全文検索
&?|演算子:便利なクエリー言語を使ったクエリーの配列での全文検索
&@~|演算子を使ってください。&?>演算子:便利なクエリー言語を使ったクエリーの配列での全文検索
&@~|演算子を使ってください。pgroonga.varchar_regexp_ops_v2演算子クラスvarchar[]用pgroonga.varchar_array_term_search_ops_v2演算子クラス&>演算子:検索対象の単語の配列に指定した単語が含まれているかをチェック
%%演算子:検索対象の単語の配列に指定した単語が含まれているかをチェック
jsonb用pgroonga.jsonb_ops_v2演算子クラス&@演算子:jsonb内のすべてのテキストデータをキーワード1つで全文検索
&@~演算子:jsonb内のすべてのテキストデータを便利なクエリー言語を使った全文検索
&?演算子:jsonb内のすべてのテキストデータを便利なクエリー言語を使った全文検索
&@~演算子を使ってください。&`演算子:ECMAScriptのようなクエリー言語を使った高度な検索
@@演算子:ECMAScriptのようなクエリー言語を使った高度な検索
@>演算子:jsonbデータを使った検索
pgroonga.command関数内で以下のGroongaの関数を使えます。WHERE節では使えません。
通常、PGroongaはデフォルトで高速に動くため、特別にPGroongaをチューニングする必要はありません。
しかし、非常に大きなデータベースを扱うなどいくつかのケースではPGroongaをチューニングする必要があります。PGroongaはバックエンドとしてGroongaを使っています。つまり、Groonga用のチューニング知識をPGroongaでも使えるということです。PGroongaをチューニングする場合は以下のGroongaのドキュメントを参照してください。