all projects
project · 05

OpenSearch hybrid search.

Production-grade hybrid search over a 19K+ product dataset. BM25 + k-NN vector search combined via Reciprocal Rank Fusion. Demonstrated at OpenSearch Meetup Ahmedabad.

shippedInfraResearchOpenSearch · Kafka · Debezium · PostgreSQL · Python

BM25 + k-NN vector search combined via Reciprocal Rank Fusion (RRF). Full CDC pipeline: PostgreSQL → Debezium → Kafka → OpenSearch. 19,000+ product dataset. Demonstrated at OpenSearch Meetup Ahmedabad as a live talk.

search architecture

Combines BM25 keyword search with k-NN vector search using Reciprocal Rank Fusion to merge result sets. The CDC pipeline keeps OpenSearch in sync with PostgreSQL in near real-time: PostgreSQL → Debezium → Kafka → OpenSearch connector.

dataset

Built over a 19,000+ product dataset. Demonstrated as a live talk at OpenSearch Meetup Ahmedabad, walking through the full pipeline from CDC setup to hybrid query tuning.

key decision

RRF outperforms weighted-sum combination in practice because it doesn't require tuning per-query score scales - rank positions are stable across different query types.

stack

OpenSearchKafkaDebeziumPostgreSQLPython