Χρησιμοποιήστε μια αποκλειστική search engine — Elasticsearch/OpenSearch χτισμένη πάνω σε inverted index — τροφοδοτούμενη από τη source βάση σας μέσω CDC, και κάντε shard το index για κλίμακα. Η primary βάση σας (Postgres/MySQL) δεν μπορεί να κάνει relevance-ranked text search πάνω σε εκατοντάδες εκατομμύρια rows· ένα LIKE '%term%' κάνει scan κάθε row. Μια 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
