An index is a typed collection of documents you want to search. You typically have one index per "thing you'd put in a search box":
- A retailer has an index for products (and maybe a separate one for articles).
- A SaaS has an index per customer-facing search box (jobs / candidates / messages).
- A documentation site has one for the docs themselves.
The schema is declared up front so Skryx can:
- Validate every document on the way in (no surprises).
- Pick the right tokenizers per field type.
- Allocate the right amount of memory for facets and sorts.
# Names
Index names are unique inside your tenant and match [a-z0-9_-]+. Pick names
that say what's in them — products, blog-posts, tickets.
# Schema
Each field has a name and a type (string, int32, int64, float,
bool, plus their [] array variants). Add facet: true to make a field
filterable + groupable.
Once an index is created, you can:
- Add new optional fields with Update settings.
- Change
typo_config, weights, relevance without re-indexing. - Rename or remove a field — requires a re-index. The dashboard guides you through it.
# Multi-tenant isolation
If you're embedding Skryx into a SaaS, you don't need separate Skryx tenants
per customer — use a single index with a tenant_id field and pass
filter_by: "tenant_id:42" on every query. See Multi-tenancy.
# Read next
- Create an index — every parameter.
- Schema design guide — practical patterns for e-commerce / content / SaaS.