Full-spectrum search.
Built to be the fastest.
Full-text, vector, and faceted search with analytics, from one open source engine. Start with curl and plain JSON. Native code that gets more from every core and every gigabyte.
Designed for the most search per core, per gigabyte, and per dollar. In the cloud, you pay for inefficiency forever. Luxir is built to make every core, byte, and cycle count.
Every core
A work-stealing scheduler shares indexing, merging, and query execution across all cores. Network IO is asynchronous, so a slow client never holds a core.
Every gigabyte
Native code, no garbage collector, no heap ceiling. Segments are immutable and memory-mapped, read straight from the page cache.
Every cycle
Postings decoding, scoring, and vector distance run on SIMD paths, and top-k requests prune with block-max bounds whenever the request allows it.
Luxir is designed to scale up first
One large cloud instance costs roughly the same per core as several small ones, without the cross-node coordination overhead. Luxir is built to put that whole machine to work. The architecture overview explains how.
Three commands from nothing to a working search.
- Start the server
- Index documentsOne JSON document per line, as many as you like. Field types come from the name: title_tis full text,author_namesupports word search plus whole-name facets and sorting,year_iis an integer. The collection appears on first write.
- Search
Search, facets, and analytics in one request
Section titled “Search, facets, and analytics in one request”Hang facets and metrics off any query and they run in the same pass over the same index view. One round trip returns the top documents, the counts for the sidebar, and the number for the header.
- Dune$9.99
- Dune Messiah$8.49
- Children of Dune$8.99
Fast top-k, exact counts when asked: leave out get_number and the engine prunes
with block-max bounds; ask for it and the total is counted exhaustively. Facet counts are always
exact by default.
Faceting covers nested facets, ranges, date histograms,
and top documents per bucket; Vector and hybrid
search shows a fused lexical-plus-vector ranking carrying facets of its own.
Every capability composes with the others: a filter inside a vector search, a facet over a fused ranking, a geo radius under a boolean clause.
BM25 ranking with block-max pruning; phrase, fuzzy, and prefix matching; a readable query language for developers and a never-fails syntax for end-user search boxes.
A kNN query is a query like any other. Filters apply inside the vector search rather than after it, and rank fusion combines lexical and vector sources in one request.
Field, range, and date facets with nested sub-operations and statistics over any result set. Counts are exact, never estimated.
Bounding-box and radius queries over geo points, dateline-aware, composed with everything else in the tree.