ਇੱਕ 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 ਨੂੰ ਉਲਟ ਦਿੰਦਾ ਹੈ।
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
