An exact SKU, a typo, the wrong keyboard layout and a natural-language request should not all be handled the same way. AACSearch combines lexical, semantic and vector retrieval in one search system — with facets, filters, ranking and analytics.Try the searchOpen the API
Type to search the demo catalogue
Connecting…Demo tenantSearch-only key
Mark which fields to search, facet and sort by — nothing else to configure.
A zero-hit query is retried through layout, transliteration and broadening automatically.
Add merchandising and personalization on top — search never has to change.
macbook provfr,er ghjMacBook Pro M4 24GBa laptop for development with good battery lifeAll of these queries can express a similar intent. AACSearch lets you combine:
Part numbers, models, SKUs, IDs and brand names must not be "understood by meaning". For these queries an exact match matters more than semantic similarity. AACSearch lets you keep exact fields next to regular text and embeddings.
A query like "something quiet for a small kitchen" may not match a single product title word for word. Semantic and vector retrieval find documents by meaning, not only by matching tokens.
Keyword retrieval works well for exact terms. Vector retrieval works for queries by meaning. Hybrid search merges both candidate lists into one ranking — so exact matches do not vanish for the sake of "semantics", and descriptive queries do not end on an empty page.
When a query finds nothing, AACSearch retries it through a set of rescue rewrites in one round trip:
Typo tolerance and synonyms already apply to every search. The response and the Query Trace show which rewrite found the result.
Do not build a separate filter infrastructure for keyword and vector search.
Turn on debug / trace and inspect:
scoring signals
applied rules
query rewrites
retrieval path
reranking
filters
timings
Build golden query sets and compare changes with nDCG, MRR, precision, recall and zero-result rate. Do not ship a ranking change just because a few queries "look better".
Type the query the way your visitor really types it. With a mistake. With a part number. In the wrong keyboard layout. As a plain human sentence.
{
"q": "cordles dril",
"query_by": "name,brand",
"filter_by": "in_stock:true",
"per_page": 20
}
// -> 12 hits, "query_rewrite": { "strategy": "layout" }Explore more
The best way to evaluate a search platform isn't reading one more comparison table.
Only then make the decision.