Sonic

Schema-less identifier index on RocksDB, queried over the Sonic Channel protocol.

Provider
default
Category
Data
Properties · 4 set by this component
propertytypevaluesrequiredkind defaultthis component
geoScheme · advancedenumnone | s2 | h3 | geohash | quadtreenononeinherited
indexingenumsync | async | batchnoasync▸ async
managedboolean—nofalse▸ false
protocol · component propertyenumsonic-channelnosonic-channelinherited
rebuildCadenceHours · advancedinteger—no—inherited
replicasinteger—no—inherited
shardingStrategy · advancedenumnone | hash | geo | time | prefix-rangenonone▸ none
storageEngine · component propertyenumrocksdbnorocksdbinherited
storesDocuments · component propertyboolean—nofalseinherited
structureenuminverted | trie | vector | geo-cellnoinverted▸ inverted
Rules that apply · 1

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

derived-store-without-cdc-or-rebuild

A search index is derived data and needs an asynchronous feed from a stream, change data capture or an indexing worker. Without one it is written inline on the request path, and it can never be rebuilt after it drifts.

  • — this does not hold:
  • — the node has at least one asynchronous incoming edge from a stream, change-data-capture or worker
Use it in a design
nodes:
  - { id: "sonic", component: "sonic" }
Other Search index products · 31
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Sonic: schema-less identifier index on RocksDB, reached over the Sonic Channel TCP
# protocol. Per the project README it stores no documents and returns object IDs, runs as a
# single node with no replication or sharding, and suggestions appear after a consolidate cycle.
schemaVersion: "1"
type: "component"
id: "sonic"
kind: "search-index"
provider: "default"
docs: "https://github.com/valeriansaliou/sonic"
defaults:
  structure: "inverted"
  shardingStrategy: "none"
  indexing: "async"
  managed: false
properties:
  storesDocuments:
    type: "boolean"
    default: false
  protocol:
    type: "enum"
    values: ["sonic-channel"]
    default: "sonic-channel"
  storageEngine:
    type: "enum"
    values: ["rocksdb"]
    default: "rocksdb"

The same page as markdown, for an agent: /catalogue/components/sonic.md