એક 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 problem ને invert કરે છે.
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
