これはPGroonga 1.X用のドキュメントです。新しいPGroongaを使っているならPGroonga 2.xのドキュメントを見てください。
このドキュメントはすべての機能を説明しています。チュートリアルは重要な機能だけを簡単に理解できることに注力しています。このドキュメントは完全に説明することに注力しています。もし、まだチュートリアルを読んでいない場合は、このドキュメントを読む前にチュートリアルを読んでください。
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のドキュメントを参照してください。