← Back to all sparks
S

Sonic

DEVOPS
Velocity2.5

Lightweight and schema-less search backend

Sonic yanks two releases in a day, then ships faster ingest and new count commands.

search-indexrustingest-performancecjkrelease-stability
◆Current state
Sonic is a lightweight Rust search index that gained BM25 ranking in 1.8. On September 21 it released 1.9.0 with large PUSH performance gains and 1.9.1, then yanked both over two serious bugs and shipped 1.10.0 the same day with new COUNTC, COUNTB and COUNTO commands replacing COUNT. 1.10.1 fixed a CJK tokenizer panic on Chinese text and object counting, and 1.10.2 repaired backups.
◆Where it's heading
The 1.x line is moving fast on ingest performance and correctness for high-scale and non-English users, at the cost of some unstable releases. Experimental APIs are being tested in production before they reach official builds.
◆Prediction
Expect the experimental high-scale PUSH features to graduate out of the feature flag in a later 1.x; when is unclear.

◆Recent moves

  1. 1mo ago

    Sonic 1.10.2 fixes backups and makes stemming a server feature

    Sonic 1.10.2 makes stemming a server feature, lowers the default log level to warn and fixes backups: TRIGGER backup now works while stores are in use and FST buckets are backed up and restored again. The backup fixes matter most for anyone relying on them.

    View source ↗
  2. 1mo ago

    Sonic 1.10.1 fixes Chinese-text tokenizer panic and counters

    Fixes a panic on Chinese text in the CJK tokenizer, object counts on big-endian systems and after batch ingest, and a cache issue on FLUSHO. Important for anyone indexing Chinese content after the 1.9 performance work.

    View source ↗
  3. 1mo ago

    Sonic 1.10.0 adds COUNTC/COUNTB/COUNTO, replaces yanked 1.9

    Replaces COUNT with COUNTC, COUNTB and COUNTO and fixes several counter bugs, released the same day as the yanked 1.9.x builds. It is the stable landing point for the 1.9 ingest performance work.

    View source ↗
  4. 1mo ago

    Sonic 1.9.1 (yanked): Docker base bump, read-panic fix

    A yanked patch that bumped the Docker base image and stopped a panic on failed channel reads. Users are told to use 1.10.0.

    View source ↗
  5. 1mo ago

    Sonic 1.9.0 (yanked): faster PUSH ingest

    Large PUSH performance gains from fewer locks, batched RocksDB writes and merge operators, plus experimental high-scale APIs behind a flag. It was yanked for two bugs, but its work reached users in 1.10.0.

    View source ↗
  6. 2mo ago

    Restores config compatibility broken hours earlier by 1.8.0

    A same-day correction to 1.8.0, whose renamed RocksDB configuration keys turned out to be a breaking change. Compatibility tests were added alongside the fix to catch config regressions before they ship, which suggests the ranking work in 1.8.0 outpaced the project's release checks.

    View source ↗