summa

Library Listed

Core async search engine library with WASM support

Checked · Sources

Downloads
369
Dependents
1
Stars
299
Forks
11
Contributors
3
Commits
1,314
Latest release
2.2.6 ·

About

From the project README ·

Documentation and blog · Summa 2 migration

Embeddable Rust search engine: BM25 and phrase search, sparse vectors (BMP, MaxScore, Seismic), dense search (flat, TQ, IVF-TQ, binary IVF, ScaNN), and hybrid ranking. Run locally, behind gRPC, or in a browser over HTTP/IPFS with WASM.

  • Chunked and multi-value fields, filters, fusion, formula ranking, and reranking.
  • Primary-key deletion, full-document upserts, content-hash deduplication, and compaction.
  • Sharded search through a broker with shared BM25 statistics.
  • A separate MAL-defined Transformer/Mamba stack for training, inference, and inspection.

Documentation · Schema · Query syntax · Contributing

Quick start

Run in a new working directory:

cargo install summa-tool
summa-tool init -i ./articles --sdl 'index articles {
    field id: text<raw> [primary, stored]
    field title: text<en_stem> [indexed, stored]
}'
printf '%s\n' '{"id":"1","title":"Hybrid search with Summa"}' |
  summa-tool index -i ./articles --stdin
summa-tool search -i ./articles --query 'title:hybrid' --limit 10

index commits before returning. For remote access:

cargo install summa-server
summa-server --data-dir . --addr 127.0.0.1:50051
Read the full README

Connect with the Python or TypeScript client. See server operations for resource limits and maintenance.

Packages

PackagePurpose
summa-coreRust storage, indexing, and query library
summa-toolIndex CLI and JSONL processing
summa-servergRPC search and indexing
summa-brokerShard routing and distributed search
summa-k8s-managerKubernetes operator and cluster console
summa-protoShared gRPC contract
Python clientAsync gRPC client
TypeScript clientNode.js gRPC client
summa-wasmBrowser search and local indexing
summa-webVue/WASM search UI
summa-llmInference, generation, and model traces
summa-trainTraining and evaluation workflows
summa-model-labLocal model observability UI
summa-malModel Architecture Language parser
summa-mal-pythonPython MAL bindings
summa-tokenizerByte-level BPE tokenizer

Development

Use the pinned Rust toolchain and protoc:

cargo build --release
python3 scripts/check_search.py check
uv run scripts/check_docs.py

Read AGENTS.md and the search contract before search changes. See Contributing for client, WASM, and GPU checks; benchmarks for workloads and dated results.

License

MIT

Runs on
GPU support unknown
What shows it
  • no dependency or feature matches a backend row
Native code
Required
  • Binds native code: k8s-openapi, tikv-jemalloc-sys, zstd-sys
Python bindings
No Python binding crate found
License
MIT

Compare with similar projects

Order: strongest tier first, then most downloads, then name, with unmeasured values last. A library counts downloads over 30 days. An app counts binary downloads per release. An app with none counts its crate downloads over 30 days. ML Rust runs this catalogue, so its closest project always gets a row.

summa beside the projects that share a topic with it
ProjectDownloadsDependentsStarsLatest releaseRuns on (GPU)Native codeLicense
summa This page Listed

Core async search engine library with WASM support

369 downloads over 30 days 1 299 2.2.6 GPU support unknown Binds native code: k8s-openapi, tikv-jemalloc-sys, zstd-sys MIT
tantivy Featured

Search engine library

2,082,786 downloads over 30 days 345 16,408 0.27.0 GPU support unknown Binds native code: zstd-sys (feature zstd-compression) MIT
bm25 Featured

BM25 embedder, scorer, and search engine

1,283,242 downloads over 30 days 42 78 2.3.2 GPU support unknown No native code found MIT
regexr Listed

A high-performance regex engine built from scratch with JIT compilation and SIMD acceleration

8,809 downloads over 30 days 4 28 0.6.2 GPU support unknown No native code found Apache-2.0 OR MIT
seekstorm Listed

Vector & lexical search engine library & multi-tenancy server

871 downloads over 30 days 3 1,936 4.0.1 GPU support unknown Binds native code: zstd-sys Apache-2.0
tinysearch App Listed

🔍 Tiny, full-text search engine for static websites built with Rust and Wasm

147 binary downloads per release Not applicable 2,980 Not measured Not measured Apache-2.0
milli App Archived

Search engine library for Meilisearch ⚡️

0 binary downloads per release Not applicable 465 Not measured Not measured MIT
Why ListedNo archive, New or Featured rule places it, so it is Listed.

What it lacks for Featured

  • It has 0 active dependents and 0 new dependents in 365 days. Featured needs 11 active dependents or 9 new dependents in 365 days. The repository route reads 299 stars, 11 forks and 3 contributors. It needs 4,539 stars, 434 forks and 79 contributors together.

What else the check found

Exact rules: Listed, Featured library. The check on applied thresholds version 9.

Every rule outcome, as the check records it
  • expected-interval: version 2.2.6 base 700: E = 700 days
  • dormancy: last activity 2026-11-07, 2 days ago, E = 700: active
  • rot: deprecated requirement `bincode (RUSTSEC-2025-0141, https://rustsec.org/advisories/RUSTSEC-2025-0141.html)`
  • featured: not featured: active_users 0 < 11 and new_adopters 0 < 9 and repository route stars 299 (needs 4539), forks 11 (needs 434), contributors 3 (needs 79)
  • listed: listed: no archive, new or featured rule applies
Crates7 crates

Measurements and sources

Each signal row shows the raw value, its source and the fetch date. The Sources list gathers every distinct source on this page. Movement needs more history.

Sources6 sources
Adoption0 active dependents, 0 new dependents in 365 days1 not measured
Adoption measurements
SignalValueSourceFetchedCounts
Active dependents0crates.io database dumpYes
New dependents (365 days)0crates.io database dumpYes
Peak active dependents0crates.io database dumpYes
Active dependents as a share of the peak1crates.io database dumpYes
Binary downloads per releaseNot measuredYes
MaintenanceLatest human commit: 2 days ago3 not measured
Maintenance measurements
SignalValueSourceFetchedCounts
Latest human commit2026-11-07GitHub repositoryYes
Latest release2026-11-07crates.io database dumpYes
First release2022-10-13crates.io database dumpYes
Latest version2.2.6crates.io database dumpYes
Days the oldest outside issue waits for a reply0GitHub repositoryYes
Maintainer replies over 365 days0GitHub repositoryYes
Repository archivedfalseGitHub repositoryYes
Repository gonefalseGitHub repositoryYes
Release commit or manifest in the repotruecrates.io packageYes
Published docstruecrates.io database dumpYes
Latest release fails cargo checkNot measuredYes
Build check dateNot measuredYes
Build check toolchainNot measuredYes
SecurityUnpatched vulnerabilities: none
Security measurements
SignalValueSourceFetchedCounts
Unpatched vulnerabilities past the grace windownoneRustSec advisory databaseYes
RustSec unmaintained advisorynoneRustSec advisory databaseYes
Deprecation noticenonecrates.io database dumpYes
Deprecated requirementbincode (RUSTSEC-2025-0141, https://rustsec.org/advisories/RUSTSEC-2025-0141.html)crates.io database dumpYes
Distribution35 releases, 369 downloads over 30 days5 not measured
Distribution measurements
SignalValueSourceFetchedCounts
Releases35crates.io database dumpYes
Downloads over 30 days369crates.io database dumpYes
Binary downloads over the last 3 releasesNot measuredYes
Homebrew installs on request over 365 daysNot measuredYes
Repology repository familiesNot measuredYes
Docker pull growth over 90 daysNot measuredYes
Docker pulls at the growth baselineNot measuredYes
Every version a prereleasefalsecrates.io database dumpYes
Every version 0.0.xfalsecrates.io database dumpYes
Every version yankedfalsecrates.io database dumpYes
Crate deleted from crates.iofalsecrates.io database dumpYes
Repository299 stars, 11 forks, 3 contributors, 1,314 commits. Stars alone never qualify a project.
Repository measurements
SignalValueSourceFetchedCounts
GitHub stars299GitHub repositoryYes — one part of the repository route
GitHub forks11GitHub repositoryYes — one part of the repository route
Contributors with a GitHub account3GitHub contributorsYes — one part of the repository route
Commits on the default branch1314GitHub repositoryNo
Repository's main crate left out of the entrynonecrates.io database dumpYes
Facts that never count
Facts that never count measurements
SignalValueSourceFetchedCounts
LicenseMITcrates.io database dumpNo
Runs on, from listed crates and their direct dependenciesGPU support unknowncrates.io database dumpNo
What shows each backendno dependency or feature matches a backend rowcrates.io database dumpNo
Native code, from listed crates and their dependenciesBinds native code: k8s-openapi, tikv-jemalloc-sys, zstd-syscrates.io database dumpNo
Python bindings, from direct dependencies of listed cratesNo Python binding crate foundcrates.io database dumpNo
Crates that depend on a listed crate directly1crates.io database dumpNo

Corrections and review history

Report a correction

No correction applies to this entry.

Judgments

A judgment enters only through an approved issue and a merged pull request.

No judgment applies to this entry.