एक dedicated search engine वापरा — inverted index वर बनवलेले Elasticsearch/OpenSearch — तुमच्या source DB मधून CDC द्वारे feed केलेले, आणि scale साठी index shard करा. तुमचे primary database (Postgres/MySQL) शेकडो लाख rows वर relevance-ranked text search करू शकत नाही; एक LIKE '%term%' प्रत्येक row scan करते. एक search engine समस्या उलटे करते.
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
