Search index
Inverted index for full-text and faceted search.
Problem it solves: LIKE queries do not scale or rank.
Where it sits: Fed asynchronously from the source of truth; queried by services.
When to use
- Text search, autocomplete, faceting.
When not to use
- As the system of record.
Failure modes
- Indexing lag shows stale results.
Metrics to watch
- Query latency
- Indexing lag
Alternatives
- Vector database (semantic)
Configuration in Labs (illustrative defaults)
- Capacity per instance (req/s) = 3000 — Maximum requests one instance completes per second before it saturates.
- Write capacity (primary) (writes/s) = 1000 — Writes the single primary can absorb per shard. Replicas do not add write capacity.
- Read replicas (count) = 1 — Each replica adds one instance of read capacity. Replication lag is not modelled numerically.
- Shards (count) = 2 — Partitions; each multiplies read and write capacity assuming keys spread evenly (no hot key).
- Base service time (ms) = 15 — Processing time per request at zero load. Queueing adds to this as utilisation rises.
Vendor examples (pattern only): Elasticsearch, OpenSearch