OpenSearch Saved My Sanity (My Honest Take)
How I Got Here
I had a use case, I want to vectorize content and provide an API that would vector search. After checking out lot of vector DBs, went with Weaviate.
I went with Weaviate first.
The Weaviate Struggle
Weaviate rocks, I really learnt how embeddings are stored in the DB, how to design the other metadata schema, how to search the vector DBs. Creating schema and filtering the search based on the metadata properties was very fun NGL. The problem is, it is taking so much time to search!
Another Problem
I needed regular text search for exact matches and document search. I needed to store markdown and provide the option to search on it.
OpenSearch Changed Everything
I was told OpenSearch could do vector search too. Man, The speed difference. Same queries that took 3 seconds in Weaviate were running in under 1s. Some even faster.
Why It Actually Works Better
The killer feature? I can do both searches in one go. User types "Redis caching strategies" and gets:
- Exact matches for "Redis"
- Semantic matches for caching concepts
- All ranked together
No more juggling two systems. No more trying to merge results from different systems.
The Dashboard Thing
This might sound dumb, but having OpenSearch Dashboards made a huge difference. I could immediately see the data and create indices the way I want.
Real Performance Numbers
Before (Weaviate):
- Average query: 2.1 seconds
After (OpenSearch):
- Average query: ~600ms
Same data, same embeddings, completely different experience.
The Setup Was Easy
Index setup was straight, No spaghetti code, it literally feels like JSON. I was able to use it in both my Java and FastAPI application.
The query syntax made sense too - just combine regular search with KNN in a bool query.
Would I Switch Back?
No.
I've got one system handling everything, familiar tooling, better performance.
Sometimes the boring choice is the right choice.
The Takeaway
If you're building something that needs both traditional and semantic search, seriously consider OpenSearch. Especially if you're already comfortable with Elasticsearch.
The performance boost alone made it worth the switch for me.