Indexes

The unit Skryx organises documents around.

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:

  1. Validate every document on the way in (no surprises).
  2. Pick the right tokenizers per field type.
  3. 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.

esc