This is a document for PGroonga 1.X. See PGroonga 2.x document when you're using recent PGroonga.
This document describes about all features. Tutorial focuses on easy to understand only about important features. This document focuses on completeness. If you don't read tutorial yet, read tutorial before read this document.
pgroonga
schemaPGroonga defines functions, operators, operator classes and so on into pgroonga
schema. Only superuser can use features in pgroonga
schema by default. Superuser needs to grant USAGE
privilege on pgroonga
schema to normal users who want to use PGroonga.
pgroonga
indextext
pgroonga.text_full_text_search_ops
operator class (default)ILIKE
operator
&@
operator: Full text search by a keyword
%%
operator: Full text search by a keyword
&@
operator instead.&@~
operator: Full text search by easy to use query language
&?
operator: Full text search by easy to use query language
&@~
operator instead.@@
operator: Full text search by easy to use query language
&@~
operator instead.pgroonga.text_regexp_ops
operator classILIKE
operator
&~
operator: Search by a regular expression
@~
operator: Search by a regular expression
&~
operator instead.text[]
&@
operator: Full text search by a keyword
%%
operator: Full text search by a keyword
&@
operator instead.&@~
operator: Full text search by easy to use query language
&?
operator: Full text search by easy to use query language
&@~
operator instead.@@
operator: Full text search by easy to use query language
&@~
operator instead.varchar
pgroonga.varchar_ops
operator class (default)<
<=
=
>=
>
pgroonga.varchar_full_text_search_ops
operator class&@
operator: Full text search by a keyword
%%
operator: Full text search by a keyword
&@
operator instead.&@~
operator: Full text search by easy to use query language
&?
operator: Full text search by easy to use query language
&@~
operator instead.@@
operator: Full text search by easy to use query language
&@~
operator instead.pgroonga.varchar_regexp_ops
operator class&~
operator: Search by a regular expression
@~
operator: Search by a regular expression
&~
operator instead.varchar[]
pgroonga.varchar_array_ops
operator class (default)&>
operator: Check whether a term is included in an array of terms
%%
operator: Check whether a term is included in an array of terms
&>
operator instead.Supported types: boolean
, smallint
, integer
, bigint
, real
, double precision
, timestamp
and timestamp with time zone
<
<=
=
>=
>
jsonb
pgroonga.jsonb_ops
operator class (default)&@
operator: Full text search against all text data in jsonb
by a keyword
&@~
operator: Full text search against all text data in jsonb
by easy to use query language
&?
operator: Full text search against all text data in jsonb
by easy to use query language
&@~
operator instead.&`
operator: Advanced search by ECMAScript like query language
@@
operator: Advanced search by ECMAScript like query language
&`
operator instead.@>
operator: Search by a jsonb
data
PGroonga 1.Y.Z provides pgroonga.XXX_v2
operator classes. They don't provide backward compatibility until PGroonga 2.0.0. But they include many improvements aggressively when new versions are released.
If you use them, you need to use incompatible case steps to upgrade PGroonga.
text
pgroonga.text_full_text_search_ops_v2
operator classILIKE
operator
&@
operator: Full text search by a keyword
%%
operator: Full text search by a keyword
&@~
operator: Full text search by easy to use query language
&?
operator: Full text search by easy to use query language
&@~
operator instead.@@
operator: Full text search by easy to use query language
&@*
operator: Similar search
&~?
operator: Similar search
&@*
operator instead.&`
operator: Advanced search by ECMAScript like query language
&@|
operator: Full text search by an array of keywords
&@>
operator: Full text search by an array of keywords
&@|
operator instead.&@~|
operator: Full text search by an array of queries in easy to use query language
&?|
operator: Full text search by an array of queries in easy to use query language
&@~|
operator instead.&?>
operator: Full text search by an array of queries in easy to use query language
&@~|
operator instead.pgroonga.text_term_search_ops_v2
operator class<
<=
=
>=
>
&^
operator: Prefix search
&^~
operator: Prefix RK search
&^|
operator: Prefix search by an array of prefixes
&^>
operator: Prefix search by an array of prefixes
&^|
operator instead.&^~|
operator: Prefix RK search by an array of prefixes
&^~>
operator: Prefix RK search by an array of prefixes
&^~|
operator instead.pgroonga.text_regexp_ops_v2
operator classILIKE
operator
&~
operator: Search by a regular expression
@~
operator: Search by a regular expression
text[]
pgroonga.text_array_full_text_search_ops_v2
operator class&@
operator: Full text search by a keyword
%%
operator: Full text search by a keyword
&@~
operator: Full text search by easy to use query language
&?
operator: Full text search by easy to use query language
&@~
operator instead.@@
operator: Full text search by easy to use query language
&@*
operator: Similar search
&~?
operator: Similar search
&@*
operator instead.&`
operator: Advanced search by ECMAScript like query language
&@|
operator: Full text search by an array of keywords
&@>
operator: Full text search by an array of keywords
&@|
operator instead.&@~|
operator: Full text search by an array of queries in easy to use query language
&?|
operator: Full text search by an array of queries in easy to use query language
&@~|
operator instead.&?>
operator: Full text search by an array of queries in easy to use query language
&@~|
operator instead.pgroonga.text_array_term_search_ops_v2
operator class&^
operator: Prefix search
&^>
operator: Prefix search
&^
operator instead.&^~
operator: Prefix RK search
&^~>
operator: Prefix RK search
&^~
operator instead.&^|
operator: Prefix search by an array of prefixes
&^~|
operator: Prefix RK search by an array of prefixes
varchar
pgroonga.varchar_full_text_search_ops_v2
operator class&@
operator: Full text search by a keyword
%%
operator: Full text search by a keyword
&@~
operator: Full text search by easy to use query language
&?
operator: Full text search by easy to use query language
&@~
operator instead.@@
operator: Full text search by easy to use query language
&@*
operator: Similar search
&~?
operator: Similar search
&@*
operator instead.&`
operator: Advanced search by ECMAScript like query language
&@|
operator: Full text search by an array of keywords
&@>
operator: Full text search by an array of keywords
&@|
operator instead.&@~|
operator: Full text search by an array of queries in easy to use query language
&?|
operator: Full text search by an array of queries in easy to use query language
&@~|
operator instead.&?>
operator: Full text search by an array of queries in easy to use query language
&@~|
operator instead.pgroonga.varchar_regexp_ops_v2
operator class&~
operator: Search by a regular expression
@~
operator: Search by a regular expression
varchar[]
pgroonga.varchar_array_term_search_ops_v2
operator class&>
operator: Check whether a term is included in an array of terms
%%
operator: Check whether a term is included in an array of terms
jsonb
pgroonga.jsonb_ops_v2
operator class&@
operator: Full text search against all text data in jsonb
by a keyword
&@~
operator: Full text search against all text data in jsonb
by easy to use query language
&?
operator: Full text search against all text data in jsonb
by easy to use query language
&@~
operator instead.&`
operator: Advanced search by ECMAScript like query language
@@
operator: Advanced search by ECMAScript like query language
@>
operator: Search by a jsonb
data
You can use them with pgroonga.command
function. You can't use them in WHERE
clause.
Normally, you don't need to tune PGroonga because PGroonga works well by default.
But you need to tune PGroonga in some cases such as a case that you need to handle a very large database. PGroonga uses Groonga as backend. It means that you can apply tuning knowledge for Groonga to PGroonga. See the following Groonga document to tune PGroonga: