← Back to all sparks
G

Groonga

DEVOPS
Velocity5.0

Full text search engine and column store

Groonga is putting a full-text search engine into WebAssembly and the browser.

full-text searchwebassemblywasiparallel queriessharding
◆Current state
Groonga ships every one to three weeks, and the 16.1 line has a clear thread: experimental WASI support. 16.1.2 added a WASI groonga command and a browser build that downloads a database over HTTP on demand, 16.1.4 extended WASI to tokenizer and normalizer options, and 16.1.5 linked plugins statically so they work under WASI. Alongside that, 16.1.1 made logical_select run shards and drilldowns in parallel, measured at 1.5x faster with two workers.
◆Where it's heading
The WebAssembly work is moving piece by piece from the core command to options and plugins, which points toward a usable in-browser search engine. Every WASI item is still marked experimental and not stable.
◆Prediction
Expect more WASI coverage in the next 16.1.x releases, with the experimental label likely to stay for now.

◆Recent moves

  1. 12d ago

    Groonga 16.1.5 - 2026-10-29

    Plugins now work under WASI by being linked statically, marked experimental. Extends Groonga's WebAssembly build toward full functionality.

    View source ↗
  2. 24d ago

    Groonga 16.1.4 - 2026-10-16

    Experimental WASI support for tokenizer and normalizer options, and a rebuild so installs work again on AlmaLinux 9 after a simdjson library change. Mostly packaging repair.

    View source ↗
  3. 1mo ago

    Groonga 16.1.3 - 2026-10-08

    Groonga 16.1.3 fixes a crash when an alias points to an accessor such as _key and is resolved through a referring table. A narrow crash fix.

    View source ↗
  4. 1mo ago

    Groonga 16.1.2 runs experimentally in WASI and the browser

    Adds an experimental WASI groonga command and a browser build that keeps the database in memory and downloads it over HTTP, plus drilldown and logical_select fixes. It starts the WebAssembly thread the later 16.1 releases build on.

    View source ↗
  5. 1mo ago

    Groonga 16.1.1 parallelises logical_select across shards

    logical_select can now search shards and run independent drilldowns in parallel via n_workers, measured at 1.5x faster on 20 shards with two workers. Shard failures no longer stop the query; the first error is reported after all shards run.

    View source ↗
  6. 2mo ago

    Crash fix when index segment allocation fails

    Despite opening a new minor line, this release carries a single fix: a crash when allocating a new index segment fails, plus the uninitialized value in the error message that reported it. Both only surface under memory exhaustion or an exhausted mmap limit, so most deployments will notice nothing.

    View source ↗