Product · Search
The right result from the first letter.
Typo-tolerant instant search with facets, synonyms and hybrid semantic matching, plus the controls a merchandiser needs — pins, boosts, schedules — and a ladder that rescues queries before they return nothing.
What happens when a query finds nothing
A real typo, step by step. The ladder stops at the first step that finds results and tells you which one it was.
- As typed — 0 results
- Learned correction — visitors who typed this went on to “кроссовки найк 44” and clicked — results found
- Keyboard layout — would repair “rhjccjdrb”-style typing
- Transliteration — would try “krossovki”
- More typos — would allow two typos per word
- Drop the last word — would search “кросовки найк”
- Any word — would match any of the words
Runs on the first page only. Category, availability and access filters are never relaxed. The step that worked is returned in the response and logged.
Finding
What happens between the keystroke and the result list.
Instant, typo-tolerant
Prefix search with typo tolerance; model numbers and SKUs are matched exactly instead of being “corrected”.
Hybrid semantic search
Keyword precision and embedding similarity blended in one query, for queries that describe rather than name.
Natural-language filters
“Under 10 000”, colours and sizes in the query become filters instead of competing words.
Navigating
Facets, including hierarchical
Live counts, numeric ranges, facet search and category trees with parent counts.
Zero-result ladder
Graph-learned correction → normalise → fix keyboard layout → transliterate → widen typo tolerance → drop the last word → match any word. Your filters are never dropped, and the answer says which step worked.
Wrong keyboard layout
“rjhcjdrb” is recognised as “кроссовки” and searched again before the visitor sees an empty page.
Controlling
Ranking is a business decision. These are the levers, all without a deploy.
Merchandising rules
Pin, bury, boost, exclude, redirect and diversify — scoped by query, locale or device, with start and end dates.
Relevance evaluation
Golden query sets scored with nDCG, MRR, precision and recall, so a ranking change is measured, not guessed.
Analytics
Top queries, zero-result queries, clicks, conversions and slow queries per index.
A/B testing
Split live traffic between two ranking profiles with sticky per-visitor assignment and compare clicks and conversions.
Specifications
- Search platform
- AACSearch
- Query length
- up to 1,000 characters
- Results per page
- up to 250 (plan limit applies)
- Deep pagination
- up to page 100
- Facet values per field
- up to 100
- Documents per import request
- 500
- Rule changes take effect
- within 60 seconds, no reindex
- Languages
- stemming and stop words per field locale, incl. Russian
Before you start
- A product feed, a site with a sitemap, or a 1C-Bitrix / Shopify / WordPress store
- Access to your server code to mint embed session tokens (one endpoint)
- A list of your top 20–50 queries, to build a golden set for measuring changes
How to start
- 1
Create an index and load data
Upload JSON or CSV, crawl a sitemap, or connect a store. Field roles (searchable, facet, sort) are suggested from the data.
- 2
Embed the widget
Mint a short-lived session token on your server and drop in one script. The page never sees an API key.
<div id="aacsearch"></div> <script src="https://app.example.com/embed/v1/aacsearch.js" data-aac-token="SESSION_TOKEN" data-aac-target="#aacsearch"></script> - 3
Or call the API
The same search from your own UI through the REST API or the TypeScript and Python SDKs.
const client = new AACSearchClient({ apiKey: process.env.AAC_KEY }); const res = await client.search("products", { q: "кросовки найк", per_page: 20 });