Go · Search Implementation

Go with KERNSTACK search

Go handlers plus a declared text index is how product search ships on KERNSTACK without a search cluster: the index covers the fields your Go code searches, the function queries it and then reads the winning records live, and filters — stock, territory, permissions — apply against the rows themselves rather than a stale copy.

Go Search

The declaration does the architectural work: one index entry names its sources and fields, and the platform keeps it current with the table. Go code never runs an indexer, a syncer, or a reindex cron — the category of background job that quietly stops in month three of an assembled stack.

Query flow is deliberately two-step. The index proposes candidate ids by relevance; the handler fetches those records and applies the rules only live data can answer (is it in stock, may this user see it, what is today’s price). Search quality work — synonyms, boosts, zero-result review — happens against the logged queries in your own tables.

Costs stay legible: index storage at the storage rate, queries as function GiB-seconds. A catalogue doing two million searches a month spends a few hundred credits on query compute, which reframes most “we need a search platform” conversations.

CLI

Plan Go Search, then deploy.

Terminal — CLI workflow kernstack cli
kernstack add function --name api --blueprint func-go-minimal
kernstack plan
kernstack deploy

Docs for Go Search. Search on the platform.

Frequently asked questions

No. Indexing is the platform’s side of the declaration. Your Go code writes records and queries the index; nothing in the repository resembles an indexer.

Yes. Add a bucket source (optionally prefix-scoped) beside the table source in the same index, and one query covers structured records and document content.

From your own query logs: log searches and zero-result queries to a table, then adjust fields, synonyms (as data), and handler-side boosts. The feedback loop is project data, not a vendor dashboard.

Ship your stack on the Software Lifecycle Cloud.

Closed preview on dedicated European infrastructure. Bring a repository or start from a blueprint.