Search API

Search API features

Real-time, full-text and vector search for millions to billions of documents, with sub-millisecond latency at any scale — two lines of code to your first query.

Index documents through the REST API and they become searchable instantly, without worrying about scale — SeekStorm handles the heavy lifting. Every feature below is available through the same API; tap a card to jump to its full description.

Deployment & operations
Feature details

Every feature, in depth

The cards above link here — each heading below is a permalink, so feel free to bookmark or share a single feature.

Search & scale

SeekStorm runs lexical (BM25) and vector search as two native engines under one index, rather than bolting one onto the other. A query planner selects among several query modes automatically or manually, and results from both engines are merged with Reciprocal Rank Fusion (RRF) into a single ranked list — callers only ever see one index. See the dual-engine architecture for details.

Indexing and searching a handful of documents for a single user is easy; doing it for billions of documents and thousands of concurrent users, in real time, with low RAM and disk footprint, is not. SeekStorm's index and storage architecture keeps latency and index size growing linearly with document count while RAM consumption stays constant, enabling real-time indexing and instant search for large indices at Terabyte scale, and thousands of concurrent users. More on SeekStorm's index architecture.

A document becomes searchable at the same millisecond it's indexed. Unlike conventional near real-time (NRT) search, which relies on periodic soft-commits, SeekStorm has zero commit delay and doesn't trade away indexing performance to stay real-time.

Blazingly fast

Average latency isn't enough — search needs headroom for concurrent queries, complex queries, and traffic spikes, and AI agents can issue requests at machine speed with zero tolerance for tail latency. In independent benchmarks, SeekStorm measured 8× lower average and 21× lower P99 latency. See the benchmark and why tail latency costs you customers.

Vector search

Built-in inference or bring your own embeddings

Generate and index embeddings directly from any text field using integrated inference, or skip that step and import embeddings generated by your own model — both are indexed the same way and searched the same way.

Multi-vector indexing

Vectors can be indexed from multiple fields of a document, and from multiple chunks within a single field, so long-form content is represented by more than one embedding rather than one lossy average.

Similarity & quantization

Choose the similarity measure that fits the embedding model — cosine similarity, dot product, or Euclidean distance — at F32 or I8 precision. TurboQuant and affine Scalar Quantization trade a small amount of precision for a much smaller index and faster search.

Semantic chunking

Text is split into chunks that respect sentence boundaries and Unicode segmentation, so multilingual content is chunked correctly instead of being cut mid-word or mid-character.

Field filters are applied while the ANN search runs, not as a post-search filtering step afterward — so a narrow filter doesn't leave a search starved of results after the fact.

Query experience

Combining fast spelling correction with query completion, the Search API can power instant-search interfaces where results are searched and displayed while the user is still typing — all within sub-millisecond latency.

Spelling correction

Queries are automatically corrected using SymSpell, the Symmetric Delete spelling-correction algorithm developed by the SeekStorm team, which is around a million times faster than conventional fuzzy-matching approaches.

Query completion

While a user types, SeekStorm returns a ranked list of the most likely matching queries from a self-learning, per-index auto-completion dictionary. The dictionary is compiled automatically during indexing from every indexed field and updates in real time with each newly indexed document, continuously identifying the top-k most frequent terms from a possibly unbounded stream of data while using only limited RAM. Because each index keeps its own dictionary, completions stay language-independent, tuned to domain and user vocabulary, and private to that index.

Query rewriting

With the instant parameter enabled, a corrected or completed query is automatically rewritten to the best-matching suggestion, and results for that corrected query are returned immediately — no extra round trip needed.

Users often don't know exactly how a foreign word, brand, or product name is spelled. Rather than forcing exact matches, fuzzy search — built on the same SymSpell algorithm as spelling correction — instantly returns relevant results for misspelled or incomplete queries.

Search & filtering

Queries support AND, NOT, PHRASE, and implicit PHRASE operators, plus field filters such as intitle, intext, inurl, site, allintitle, allinurl, and allintext — and an aptly named filter is automatically available for every field defined in the index.

Search can be restricted to one or more specific fields of an indexed document, and combined with full-text search across other fields in the same query — useful for narrowing results and increasing their relevance.

Beyond full-text matching, SeekStorm derives a complete set of filters directly from a document's facet fields — value and range — rather than offering a single fixed filter. That means counting, filtering, and sorting by any facet value or range actually present in the data, the mechanism behind typical product-search refinement by brand, rating, or price. Learn more about faceted search.

Grouping & Distinct

The group query parameter nests results so documents sharing the same facet field value are grouped together and capped to a configurable count — setting that count to 1 makes results distinct on the field. This keeps a handful of dominant values (the same popular domain, the same shirt color) from crowding out the diversity that's otherwise buried in the long tail. Value groups apply to string facets; range groups apply to numeric or date facets with defined ranges. Both the order of groups and the order of results within a group are configurable.

Stemming

Word forms are folded to a common root at index and query time, so a search for "running" also matches documents containing "run" and vice versa. Stemming is powered by Snowball stemmers and supports 38 languages, toggleable per index.

Language independent

Crawling, indexing, searching, spelling correction, and query completion all work independently of language, across any UTF-8 text — Latin, Cyrillic, Arabic, and CJK scripts — including Chinese word segmentation for indexing Chinese content.

Documents with a location can be searched by proximity, filtered to a radius or area, and results sorted by distance — combinable with full-text and facet filters in the same query.

Synonyms

One-way (a matches b, but not vice versa) and multi-way (a, b, and c are interchangeable) synonym lists expand a query so results aren't limited to the exact term a user typed.

Ranking & relevance

Dynamic ranking & sorting

Sort by score and any number of facet fields (multi-attribute ordering), ascending or descending, with tie-breaking at query time. Combine relevance with popularity, recency, price, or other business logic—using the same index for differently ordered views on demand.

Boost

Selected documents can be promoted for all or specific keywords and pinned above all other search results — useful for sponsored placements or editorially curated results.

Keyword in Context summaries (KWIC)

Relevancy and speed aren't the whole story — how results are presented matters too. Highlighting query keywords within each result snippet meaningfully improves perceived relevance and helps users scan a results page and find what matters faster.

Proximity ranking

BM25F_Proximity extends standard BM25F by also scoring how close query terms appear to each other in a document, ranking documents where the terms appear together higher than documents where they're scattered far apart.

API & access

Scoped API keys

Full-access keys and query-only keys can be issued separately, so indexing credentials and read-only search credentials can be scoped and rotated independently for different parts of an application.

RESTful API with CORS

A concise REST API gets search into an application in about two lines of code. Cross-Origin Resource Sharing (CORS) support lets a browser call the API directly from a domain other than the one serving the page.

Official SDKs

Native client libraries wrap the REST API for Python, TypeScript, Rust, C#, Java, and Go, so indexing and querying stay idiomatic, and can be integrated without hand-writing HTTP calls.

Portable index

An index is a self-contained set of files, not a proprietary black box tied to one deployment. Copy, back up, or move it between environments — local, self-hosted, or cloud — without a re-index and without vendor lock-in.

Rich field types

A schema isn't limited to strings and numbers: integers and floats of any width, timestamps, booleans, strings and string sets, geo points, JSON, binary (embedded PDF, image, audio, or video), and vectors are all first-class field types, with unlimited field count, length, and index size.

Flexible result types

A query can return a ranked top-k list, a bare result count, or both together — useful when a UI only needs "1,204 results" without paying for the cost of ranking and returning them all.

Document iterator

An iterator walks every document in an index, in either direction, independent of search — useful for export, index conversion, analytics, or inspection without writing a query.

Integrations & ingestion

MCP server

A Model Context Protocol server exposes indexing and search as tools an LLM or AI agent can call directly, without wrapping the REST API by hand.

Adapter for Algolia InstantSearch

A drop-in adapter to redirect an existing Algolia InstantSearch.js frontend to a SeekStorm backend — no UI rewrite required. Or, use the InstantSearch widget library to build a fresh UI from scratch, with SeekStorm's REST API as the backend.

Document formats

Documents can be indexed directly from CSV, JSON, newline-delimited JSON (NDJSON), concatenated JSON, and PDF — no separate conversion step needed before indexing.

Deployment & operations

Multi-tenancy index management

A single server instance manages many independent indices, each with its own schema, API keys, and data — no need to stand up a separate deployment per customer or per project.

Embedded web UI

Every server ships with a built-in web UI to search and inspect any index without writing code — query auto-correction, auto-completion, instant search, highlighting, histograms, date filters, faceting, sorting, and document preview all included, and usable as a template to build on.

Docker image

An official Docker image runs the server on Linux, Windows, or macOS with a single command — no build step required to get started.