Reference manual | PGroonga

This is a document for PGroonga 2.0.0 or later. See PGroonga 1.X document when you're using PGroonga 1.X.

Reference manual

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 schema

pgroonga schema is deprecated since 2.0.0. Use pgroonga_* functions, operators and operator classes in the current schema for newly written code.

PGroonga 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 index

Operators

Row level security support

Since 2.3.3.

All v2 operators supports PostgreSQL's row level security.

For text

pgroonga_text_full_text_search_ops_v2 operator class (default)

  • LIKE operator

  • ILIKE operator

  • &@ operator: Full text search by a keyword

  • %% operator: Full text search by a keyword

    • Don't use this operator for newly written code. It's just for backward compatibility.
  • &@~ operator: Full text search by easy to use query language

  • &? operator: Full text search by easy to use query language

  • @@ operator: Full text search by easy to use query language

    • Don't use this operator for newly written code. It's just for backward compatibility.
  • &@* operator: Similar search

  • &~? operator: Similar search

  • &` 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: 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: Full text search by an array of queries in easy to use query language

pgroonga_text_term_search_ops_v2 operator class

pgroonga_text_regexp_ops_v2 operator class

  • LIKE operator

  • ILIKE operator

  • &~ operator: Search by a regular expression

  • @~ operator: Search by a regular expression

    • Don't use this operator for newly written code. It's just for backward compatibility.
  • &~| operator: Search by an array of regular expressions

    • Since 2.2.1.

pgroonga_text_semantic_search_ops_v2 operator class

Since 4.0.5.

For text[]

pgroonga_text_array_full_text_search_ops_v2 operator class (default)

  • &@ operator: Full text search by a keyword

  • %% operator: Full text search by a keyword

    • Don't use this operator for newly written code. It's just for backward compatibility.
  • &@~ operator: Full text search by easy to use query language

  • &? operator: Full text search by easy to use query language

  • @@ operator: Full text search by easy to use query language

    • Don't use this operator for newly written code. It's just for backward compatibility.
  • &@* operator: Similar search

  • &~? operator: Similar search

  • &` 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: 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: Full text search by an array of queries in easy to use query language

pgroonga_text_array_term_search_ops_v2 operator class

pgroonga_text_array_regexp_ops_v2 operator class

Since 3.2.5.

For varchar

pgroonga_varchar_term_search_ops_v2 operator class (default)

pgroonga_varchar_full_text_search_ops_v2 operator class

  • &@ operator: Full text search by a keyword

  • %% operator: Full text search by a keyword

    • Don't use this operator for newly written code. It's just for backward compatibility.
  • &@~ operator: Full text search by easy to use query language

  • &? operator: Full text search by easy to use query language

  • @@ operator: Full text search by easy to use query language

    • Don't use this operator for newly written code. It's just for backward compatibility.
  • &@* operator: Similar search

  • &~? operator: Similar search

  • &` 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: 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: Full text search by an array of queries in easy to use query language

pgroonga_varchar_regexp_ops_v2 operator class

  • &~ operator: Search by a regular expression

  • @~ operator: Search by a regular expression

    • Don't use this operator for newly written code. It's just for backward compatibility.
  • &~| operator: Search by an array of regular expressions

    • Since 2.2.1.

For varchar[]

pgroonga_varchar_array_term_search_ops_v2 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

    • Don't use this operator for newly written code. It's just for backward compatibility.
  • @> operator: Contained search by an array

    • Since 2.2.1.
  • &=~ operator: Equal search by easy to use query language

    • Since 3.0.0.

For boolean, numbers and timestamps

Supported types: boolean, smallint, integer, bigint, real, double precision, timestamp and timestamp with time zone

  • <

  • <=

  • =

  • >=

  • >

For jsonb

pgroonga_jsonb_ops_v2 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: Advanced search by ECMAScript like query language

  • @@ operator: Advanced search by ECMAScript like query language

    • Don't use this operator for newly written code. It's just for backward compatibility.
  • @> operator: Search by a jsonb data

pgroonga_jsonb_full_text_search_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

Old operators

For text

pgroonga_text_full_text_search_ops operator class (default)

Deprecated since 2.0.0.

Use pgroonga_text_full_text_search_ops_v2 operator class instead.

pgroonga_text_regexp_ops operator class

Deprecated since 2.0.0.

Use pgroonga_text_regexp_ops_v2 operator class instead.

For text[]

pgroonga_text_array_full_text_search_ops operator class

Deprecated since 2.0.0.

Use pgroonga_text_array_full_text_search_ops_v2 operator class instead.

For varchar

pgroonga_varchar_ops operator class

Deprecated since 2.0.0.

Use pgroonga_varchar_term_search_ops_v2 operator class instead.

  • <

  • <=

  • =

  • >=

  • >

pgroonga_varchar_full_text_search_ops operator class

Deprecated since 2.0.0.

Use pgroonga_varchar_full_text_search_ops_v2 operator class instead.

pgroonga_varchar_regexp_ops operator class

Deprecated since 2.0.0.

Use pgroonga_varchar_regexp_ops_v2 operator class instead.

For varchar[]

pgroonga_varchar_array_ops operator class

Deprecated since 2.0.0.

Use pgroonga_varchar_array_term_search_ops_v2 operator class instead.

  • &> operator: Check whether a term is included in an array of terms

  • %% operator: Check whether a term is included in an array of terms

For jsonb

pgroonga_jsonb_ops operator class

Deprecated since 2.0.0.

Use pgroonga_jsonb_ops_v2 operator class instead.

  • &@ 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: Advanced search by ECMAScript like query language

  • @@ operator: Advanced search by ECMAScript like query language

  • @> operator: Search by a jsonb data

Functions

Parameters

Modules

Executables

Groonga functions

You can use them with pgroonga_command function. You can't use them in WHERE clause.

Tuning

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: