{"adoption": {"forks": 618, "observed_at": "2026-08-28T04:11:31.591590+00:00", "stars": 21321}, "canonical_url": "https://ross.abutalabs.com/products/valeriansaliou-sonic", "card": {"archived": false, "artifact_type": "service", "description": "🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.", "domain": ["backend", "developer-tools", "databases"], "enriched": true, "function": ["search-engine", "http-server", "database"], "health_score": 100, "homepage": "https://crates.io/crates/sonic-server", "language": "Rust", "license": "MPL-2.0", "license_family": "copyleft", "maturity": "stable", "member_repos": ["valeriansaliou/sonic"], "name": "valeriansaliou/sonic", "platform": ["rust", "self-hosted", "cross-platform"], "pushed_at": "2026-08-26T15:43:58+00:00", "repo": "valeriansaliou/sonic", "stars": 21321, "tags": ["schema-less", "elasticsearch-alternative", "full-text-search", "autocomplete", "lightweight", "identifier-index", "search", "linux", "macos", "docker"], "topics": ["rust", "infrastructure", "search", "index", "graph", "database", "server", "backend", "search-server", "search-engine"], "urls": [], "use_cases": ["add full-text search to my app without running elasticsearch", "lightweight search backend that runs on a small server", "autocomplete and search suggestions for my website", "index millions of records with low memory usage", "search backend that returns document ids instead of storing documents", "schema-less search server for a small project"], "what_it_is": "Sonic is a fast, lightweight, schema-less search backend written in Rust that ingests search texts and identifier tuples, returning matching IDs for queries in microseconds. It serves as a minimal alternative to Elasticsearch, running on ~30MB of RAM with auto-completion and natural-language query normalization.", "when_to_avoid": ["you need full-featured features like aggregations, faceting, or complex queries", "you need document storage and retrieval from the search engine itself", "you need distributed clustering and horizontal scaling out of the box"], "when_to_choose": ["you need fast search with minimal RAM and CPU footprint", "you only need an identifier index backed by an external database", "you want simple search and autocomplete without Elasticsearch's complexity", "you're running on a small, cheap server"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/valeriansaliou-sonic", "repo": "valeriansaliou/sonic", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.591590+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:58:08.582329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3252ad2a5a018bd20e778d67880b0b476fdd8a01c136262cf079ba229087df97", "fetched_at": "2026-08-28T04:11:31.591590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valeriansaliou/sonic"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.591590+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:58:08.582329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3252ad2a5a018bd20e778d67880b0b476fdd8a01c136262cf079ba229087df97", "fetched_at": "2026-08-28T04:11:31.591590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valeriansaliou/sonic"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:58:08.582329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3252ad2a5a018bd20e778d67880b0b476fdd8a01c136262cf079ba229087df97", "fetched_at": "2026-08-28T04:11:31.591590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valeriansaliou/sonic"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.591590+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.591590+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.591590+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:58:08.582329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3252ad2a5a018bd20e778d67880b0b476fdd8a01c136262cf079ba229087df97", "fetched_at": "2026-08-28T04:11:31.591590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valeriansaliou/sonic"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.591590+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.591590+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:58:08.582329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3252ad2a5a018bd20e778d67880b0b476fdd8a01c136262cf079ba229087df97", "fetched_at": "2026-08-28T04:11:31.591590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valeriansaliou/sonic"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.591590+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.591590+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.591590+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:58:08.582329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3252ad2a5a018bd20e778d67880b0b476fdd8a01c136262cf079ba229087df97", "fetched_at": "2026-08-28T04:11:31.591590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valeriansaliou/sonic"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.591590+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.591590+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:58:08.582329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3252ad2a5a018bd20e778d67880b0b476fdd8a01c136262cf079ba229087df97", "fetched_at": "2026-08-28T04:11:31.591590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valeriansaliou/sonic"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:58:08.582329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3252ad2a5a018bd20e778d67880b0b476fdd8a01c136262cf079ba229087df97", "fetched_at": "2026-08-28T04:11:31.591590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valeriansaliou/sonic"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:58:08.582329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3252ad2a5a018bd20e778d67880b0b476fdd8a01c136262cf079ba229087df97", "fetched_at": "2026-08-28T04:11:31.591590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valeriansaliou/sonic"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:58:08.582329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3252ad2a5a018bd20e778d67880b0b476fdd8a01c136262cf079ba229087df97", "fetched_at": "2026-08-28T04:11:31.591590+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valeriansaliou/sonic"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 98}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2745, "days_push": 7, "days_rel": 17, "gap_med": 0.0, "n_releases_24m": 19}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}