In-memory search, next to your code.

Find a customer even when their name is misspelled. Look up a part number or check a domain against your own list. kurn is an in-memory search engine for fast fuzzy and exact retrieval over application-owned collections. Run it beside your application or embed the Go library.

installGo 1.27 recommended
go install github.com/kurn-dev/kurn/cmd/kurnd@latest
Try a fuzzy lookup →

What it does

Fuzzy and exact retrieval
IDF-weighted character n-grams for typo-tolerant short-string search, plus microsecond exact membership and optional parent-domain fallback — one engine, selected per collection.
Typed filters before top-K
Declare payload paths once, then narrow retrieval with type-exact equality or bounded IN sets. Unknown names and malformed expressions fail closed; filtering never changes similarity scores.
Atomic, versioned refresh
Build a disposable artifact from your system of record and publish it to every instance. Candidates and their complete content-and-configuration version come from the same atomic snapshot.
A compact operating model
Start with one resident list in one process. Query it directly from your application; add independent replicas when you need them.

Engine and example implementations

Start small. Add the layer your application needs.

Start with the engine. Use the Search examples as reference designs for your own application.

Engine

Embed Go or run kurnd beside your code. Build versioned exact or fuzzy lists from data you own.

Engine guide →

Search

Example search adapter implementations for the kurn engine, with TypeScript and Python clients. Reference designs for building search into your own application.

Search guide →