Prompt
What is the best option for storing embeddings and doing similarity search?
Latest observation
Oct 7, 2026
OpenAI APIWeb search: off
The “best” option depends on your scale, latency needs, and how much operational complexity you want. In practice, the most common choices are:
Best overall for most teams
PostgreSQL + pgvector
- Great if you already use Postgres
- Simple to operate
- Supports vector similarity search plus normal SQL filtering
- Good for small to medium scale and many production apps
Use this when: you want the simplest reliable solution and your dataset is not enormous.
Best for high-performance dedicated vector search
A vector database like Pinecone, Weaviate, Milvus, or Qdrant
- Built specifically for embeddings and similarity search
- Better retrieval performance and scaling than general-purpose databases
- Often easier for large-scale semantic search workloads
Use this when: you need high throughput, low latency, or millions to billions of vectors.
Best if you already use a search engine
Elasticsearch / OpenSearch
- Good if you need hybrid search: keyword + vector
- Useful for enterprise search and filtering
- Strong existing ecosystem
Use this when: you want traditional text search and vector search together.
Best for analytics-heavy workflows
A data warehouse with vector support Examples: BigQuery, Snowflake, Redshift
- Convenient if embeddings live alongside analytical data
- Not usually the fastest for interactive similarity search
- Better for batch and analytics use cases
Quick recommendation
If you’re unsure, choose:
- Postgres + pgvector for most apps
- Pinecone/Qdrant/Weaviate/Milvus if you expect significant scale or need specialized vector search
- OpenSearch/Elasticsearch if hybrid text + vector search is important
If you want, I can recommend the best option based on your exact use case, like:
- number of vectors
- query volume
- filtering needs
- budget
- cloud/on-prem preference