A search that should have been a LIKE

A search cluster indexing 4,000 rows to support an admin lookup by name, added because “search” was in the requirement.

-- what the requirement actually was
SELECT id, name FROM customers
WHERE name LIKE CONCAT(?, '%')
ORDER BY name LIMIT 20;
-- prefix match, uses the index on name: 2ms

-- what was built: a cluster, a sync job, a mapping,
-- a reindex procedure, and a dependency in the health check.

A prefix match on an indexed column is a range scan and it is fast, and the requirement was a type-ahead in an admin panel. Full-text search earns its place with relevance ranking, stemming, or a corpus that does not fit a LIKE — none of which applied. Deleting the cluster removed a dependency from the health check, which had caused two outages the search itself never caused.