Groonga 11.0.9 has been released

Groonga 11.0.9 has been released!

How to install: Install


Here are important changes in this release:


  • snippet Added a new option delimiter_regexp for detecting snippet delimiter with regular expression.

    snippet() extracts text around search keywords. We call the text that is extracted by snippet() snippet.

    Normally, snippet() returns the text of 200 bytes around search keywords. However, snippet() gives no thought to a delimiter of sentences. The snippet may be composed of multi sentences.

    delimiter_regexp option is useful if we want to only extract the text of the same sentence as search keywords.

  • window_rank Added a new function window_rank().

    • We can calculate a rank that includes a gap of each record. Normally, the rank isn’t incremented when multiple records that are the same order. For example, if values of sort keys are 100, 100, 200 then the ranks of them are 1, 1, 3. The rank of the last record is 3 not 2 because there are two 1 rank records.

      This is similar to window_record_number(). However, window_record_number() gives no thought to gap.

  • in_values Added support for auto cast when we search tables.

    For example, if we load values of UInt32 into a table that a key type is UInt64, Groonga cast the values to UInt64 automatically when we search the table with in_values(). However, in_values(_key, 10) doesn't work with UInt64 key table. Because 10 is parsed as Int32.

  • [httpd] Updated bundled nginx to 1.21.3.

  • AlmaLinux Added support for AlmaLinux 8.

  • Ubuntu Added support for Ubuntu 21.10 (Impish Indri).


  • Fixed a bug that Groonga doesn't return a response when an error occurred in command (e.g. sytax error in filter).

    • This bug only occurs when we use --output_type apache-arrow.

Known Issues

  • Currently, Groonga has a bug that there is possible that data is corrupt when we execute many additions, delete, and update data to vector column.

  • [The browser based administration tool] Currently, Groonga has a bug that a search query that is inputted to non-administration mode is sent even if we input checks to the checkbox for the administration mode of a record list.

  • *< and *> only valid when we use query() the right side of filter condition. If we specify as below, *< and *> work as &&.

    • 'content @ "Groonga" *< content @ "Mroonga"'
  • Groonga may not return records that should match caused by GRN_II_CURSOR_SET_MIN_ENABLE.


Please refert to the following news for more details.

News Release 11.0.9

Let's search by Groonga!