Search
Full-text search is enabled by default. The index is built during the build — in Rust, with BM25 scoring — and shipped as a static JSON file, so search works on any static host with no server component.
Try it on this site: press / or ⌘K, or click the search box in the header.

Configuration
import { oxContent } from "@ox-content/vite-plugin";
export default {
plugins: [
oxContent({
search: {
limit: 8,
hotkey: "/",
placeholder: "Search documentation...",
},
}),
],
};
| Option | Default | Purpose |
|---|---|---|
enabled |
true |
Set search: false to disable entirely. |
limit |
10 |
Maximum results returned by the client. |
prefix |
true |
Prefix-match the last query token (typeahead). |
placeholder |
"Search documentation..." |
Input placeholder in the default theme. |
hotkey |
"/" |
Focus hotkey; "" opts out of registration. |
The index is written to search-index.json next to the generated pages and
fetched lazily the first time a reader searches. During dev it is served from
memory and rebuilt as pages change.
Client API
The default SSG theme wires the search UI for you. For custom UIs, the same index is available to any client code through a virtual module:
import { search, searchOptions } from "virtual:ox-content/search";
const results = await search("code annotations", { limit: 5 });
for (const result of results) {
// { id, title, url, score, matches, snippet }
console.log(result.title, result.url, result.snippet);
}
search(query, options?)loads the index on first call, then scores with BM25.options.limitandoptions.prefixoverride the configured defaults per call.searchOptionsexposes the resolved{ enabled, limit, prefix, placeholder, hotkey }so a custom UI can honor the site configuration.- Scoped queries like
@api transformrestrict results to a section of the site.
When search is disabled, the virtual module still resolves — search()
returns an empty array and searchOptions.enabled is false — so custom UIs
do not need conditional imports.
Related
- Site Generation — the SSG build that hosts the default search UI.
- Theming