Käytä erillistä hakumoottoria — Elasticsearch/OpenSearch, joka rakentuu käänteisindeksin (inverted index) päälle — syötettynä lähde-DB:stäsi CDC:n kautta, ja shardaa indeksi skaalaa varten. Primary-tietokantasi (Postgres/MySQL) ei pysty relevanssijärjestettyyn tekstihakuun satojen miljoonien rivien yli; LIKE '%term%' skannaa jokaisen rivin. Hakumoottori kääntää ongelman.
Source DB ─▶ CDC (Debezium) ─▶ Kafka ─▶ Indexer ─▶ Elasticsearch/OpenSearch
(Postgres) (change stream) ├─ Shard 0 (inverted index) + replicas
├─ Shard 1
Query ─▶ Coordinator ─▶ scatter to shards ─▶ gather ─┴─ Shard N ── ranked by BM25
