Once search runs against an external index, your results are a copy of your content. Copies drift, and a drifted search index is wrong without ever looking broken.
Moving search out of MySQL fixes the performance problem and introduces a synchronisation problem in its place.
A full reindex pushes every post, term and meta field to the index. It runs as a resumable batch, so a large site finishes rather than stopping wherever the timeout landed.
A failed sync leaves a post that exists but cannot be found. Document counts are compared against the database so a gap is noticed rather than reported by a customer.
If search depends on a service that is briefly down, the failure should be a slower query rather than an empty results page. Queries fall back to the database instead of returning nothing.
Altering how a field is indexed usually requires a rebuild, not an edit. Those runs are treated as scheduled work rather than something applied live and hoped over.
Changing a term across thousands of posts queues thousands of index updates. Those are batched instead of fired one per save while an editor waits.
Everything that goes wrong here is a divergence: content that was saved and never indexed, or indexed under a mapping that has since changed.
The point of an external index is that a faceted search stops being a meta query. The risk is that it returns quickly and leaves things out.
Search now lives outside WordPress, so every row is about keeping the outside copy in step with the inside one.
| Setting | What we do | Why |
|---|---|---|
| Reindex runs | Resumable batches with progress retained | A full rebuild pushes every document to the index, which on a large site cannot finish inside a request and silently stops part way. |
| Drift detection | Index document counts reconciled against the database | A post that saved but failed to index exists and cannot be found, and nothing about the site looks wrong until somebody searches for it. |
| Query fallback | Falls back to the database when the index is unavailable | An unreachable search service should degrade to a slower query rather than an empty results page that looks like missing content. |
| Mapping changes | Treated as scheduled rebuilds, not live edits | Changing how a field is analysed does not apply to documents already indexed, so results stay inconsistent until everything is rebuilt. |
| Bulk edit indexing | Queued rather than triggered per save | Reassigning a term across thousands of posts fires an index update for each one, which blocks the editor and floods the service at the same time. |
Every plan includes free migration, daily backups, SSL and 24/7 support.
Move the site across — migration is free, reindexing handled.