Search Engine
Answers search queries. 400 per second per size step.
What it does#
The Search Engine stands for Elasticsearch: a separate index built for full-text search.
It takes search queries and sends nothing on. It answers each one in a fixed time, and it answers a fixed number per second per size step. Features that make searches heavier lower that number. See inverted index.
Until you link a Search Engine, the Database answers searches with built-in full-text search. When an App Server links to both, searches go to the Search Engine, and Postgres stops answering them.
When to place it#
Place it when searches load the Database: its CPU climbs as the Search share of the mix grows, and every other query slows with it. It unlocks with Full-text search. Resize it when its card shows it near its limit.
How it fails#
Overloaded, it drops searches. Searches fail, but the rest of the Design is fine.
Without one, search load sits on the primary, and a busy search slows checkouts and writes.
Instance failure takes a single copy offline. Searches fail until you replace it, because the Database does not take them back while a Search Engine is linked.
A Zone outage takes it down unless it has a standby in another zone.
Tips#
Search queries are among the higher-value kinds. Keep their p99 low.
Give it a standby once you own Multiple zones.
Rules#
- Each further copy costs 25% more than the one before.
- Selling it refunds 50% of what its last copy cost.
- It has 8 sizes. Each step doubles its capacity and its Burn.