Koristite namjenski search engine — Elasticsearch/OpenSearch izgrađen na inverted indexu — hranjen iz vaše izvorne baze putem CDC-a, i shardirajte indeks za skalu. Vaša primarna baza (Postgres/MySQL) ne može raditi relevance-ranked tekstualnu pretragu preko stotina milijuna redaka; LIKE '%term%' skenira svaki redak. Search engine izokreće 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
