How to Set Up AACSearch and Start Searching in 15 Minutes
Alex Chibilyaev
5/3/2026
AACSearch is the hosted search solution designed for growing businesses. At 1 million search requests per month, you're paying only $29. For a growing SaaS product or e-commerce store, that's a line item that's easy to justify.
AACSearch delivers enterprise-grade search at $29/month for 1 million search units. Getting started is straightforward with our clean APIs and documentation.
Here's the complete migration guide.
What Maps to What
AACSearch uses a clean, intuitive model:
| other providers | AACSearch | Notes |
| ----------------- | ------------ | ----------------------------------------------- |
| Application | Organization | Top-level container |
| Index | Search Index | A collection of documents |
| Record | Document | A single searchable item |
| API Key | API Key | Auth tokens with scoped permissions |
| Replica index | — | Use relevance tuning + sort parameters instead |
| Query Suggestions | — | Use prefix_search + analytics for suggestions |
AACSearch has excellent defaults for typo-tolerance, prefix search, and faceted navigation out of the box.
Step 1: Create Your Index
In your AACSearch dashboard, create a new search index and define your schema.
{
"name": "products",
"fields": [
{ "name": "id", "type": "string" },
{ "name": "title", "type": "string" },
{ "name": "description", "type": "string" },
{ "name": "price", "type": "float" },
{ "name": "category", "type": "string", "facet": true },
{ "name": "in_stock", "type": "bool", "facet": true }
],
"default_sorting_field": "price"
}
AACSearch uses explicit schema definitions. This gives you faster indexing and better query performance.
Step 2: Generate Your API Keys
Create two API keys in the AACSearch dashboard:
- Ingest key — write access, server-side only, never exposed to the browser
- Search key — read-only, safe to use in your frontend
AACSearch also supports scoped tokens — HMAC-signed tokens that narrow the scope of a search key at runtime:
// AACSearch approach
const scopedToken = await orpc.search.createScopedToken({
keyId: searchKeyId,
filters: `org_id:=${userId}`,
ttlSeconds: 3600,
});
AACSearch uses HMAC-SHA256 for secure token generation.
Step 3: Ingest Your Data
Export your data as JSON (or query your database directly) and import them into AACSearch.
Batch import via the dashboard:
- Go to your index → Import
- Upload a JSON file (array of objects)
- AACSearch handles deduplication by
idfield
Import via API:
curl -X POST "https://api.AACSearch.com/api/connector/sync/full" \
-H "Authorization: Bearer ss_connector_your_token" \
-H "Content-Type: application/json" \
-d '{
"documents": [
{ "id": "1", "title": "Running Shoes", "price": 89.99, "category": "footwear" },
{ "id": "2", "title": "Trail Shoes", "price": 119.99, "category": "footwear" }
]
}'
Import from your database: If you have a PrestaShop, WooCommerce, or Bitrix store, install the AACSearch connector module. It syncs your product catalog automatically — no code required.
Step 4: Update Your Search Client
If you use the JavaScript SDK
Use the AACSearch browser SDK:
<!-- Add this -->
<script
src="https://app.AACSearch.com/api/widget/widget.js"
data-index="products"
data-api-key="ss_search_your_key"
data-api-url="https://api.AACSearch.com"
></script>
The AACSearch widget is a drop-in with built-in modal UI, keyboard navigation, and analytics. Zero configuration required beyond the data attributes.
If you use InstantSearch.js
AACSearch supports InstantSearch through an adapter:
npm install AACSearch-instantsearch-adapter
import AACSearchInstantSearchAdapter from "AACSearch-instantsearch-adapter";
const aacsearchInstantSearchAdapter = new AACSearchInstantSearchAdapter({
server: {
apiKey: "ss_search_your_key",
nodes: [{ host: "api.AACSearch.com", port: 443, protocol: "https" }],
},
additionalSearchParameters: {
query_by: "title,description,category",
},
});
const searchClient = aacsearchInstantSearchAdapter.searchClient;
// Then use searchClient as normal
This gives you InstantSearch components (SearchBox, Hits, RefinementList, etc.) with AACSearch as the backend.
Step 5: Verify Relevance
Run your top 20 queries against AACSearch and compare result ordering. AACSearch's default ranking is:
- Exact matches first
- Prefix matches next
- Typo-tolerant matches
- Sorted by
default_sorting_field
If you need custom ranking (e.g., popularity_score DESC), add that field to your AACSearch schema and configure it in the relevance settings.
Step 6: Set Up Analytics
AACSearch automatically tracks:
- Query volume over time
- Zero-result queries
- Click-through rate (via the widget)
- Top queries by volume
No extra configuration required. Analytics appear in your dashboard immediately after the first searches.
Migration Checklist
Before switching DNS / API keys:
- [ ] Schema defined with all required fields and facets
- [ ] All documents imported (verify count)
- [ ] Search key generated and scoped correctly
- [ ] Frontend updated to use AACSearch SDK or adapter
- [ ] Top 20 queries tested for relevance parity
- [ ] Typo tolerance verified (try intentional misspellings)
- [ ] Facet navigation tested (if applicable)
- [ ] Analytics dashboard showing data
- [ ] Old API keys revoked
Pricing
AACSearch pricing at 1 million search requests per month:
| | other providers | AACSearch | | ------------------ | --------------- | ----------- | | Monthly cost | ~$500 | $29 | | Annual cost | ~$6,000 | $348 | | Annual savings | | ~$5,650 |
Getting started with AACSearch typically takes less than an hour for a standard product catalog.
Getting Started
Create a free AACSearch account — 10,000 search units/month, no credit card required. The free tier is enough to run the full migration in a staging environment before you switch production.
If you run into issues, the AACSearch team is reachable via the in-app chat and responds within hours, not days.