This is a document for PGroonga 1.X. See PGroonga 2.x document when you're using recent PGroonga.
These were dropped in PGroonga 4.0.0. Not available in PGroonga 4.0.0 or later.
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 indextextpgroonga.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.varcharpgroonga.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
<
<=
=
>=
>
jsonbpgroonga.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.
textpgroonga.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
varcharpgroonga.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
jsonbpgroonga.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: