Skip to content
Vector Search

Qdrant and Weaviate consulting for open-source vector search with filtering and hybrid built in

Both are capable open-source stores with a managed cloud option. We help you pick the one that fits your filtering, hybrid and hosting needs, then deploy and tune it.

  • Open source, self-host or cloud
  • Payload filtering and hybrid
  • 3–6 week engagements
Why these two

Purpose-built stores that still fit a small team

Qdrant and Weaviate sit between pgvector, which lives inside Postgres, and Milvus, which is built for cluster scale. Both are dedicated vector databases that one team can operate, with filtering and hybrid retrieval as first-class features rather than add-ons.

Qdrant

Written in Rust. Payload filtering is part of the search itself, quantisation options cut memory, and sparse vectors give you hybrid retrieval. REST and gRPC APIs, a managed Qdrant Cloud, and distributed mode with sharding and replication.

Weaviate

Written in Go. BM25 keyword search and hybrid fusion are built in, modules can vectorise content on ingest with external or local models, and multi-tenancy is native. GraphQL, REST and gRPC APIs, plus a managed Weaviate Cloud.

In detail

What each one is good at

  • Filtering inside the search

    Every point carries a JSON payload. Filters on that payload are evaluated during the graph traversal instead of on a candidate list afterwards, so selective filters do not starve results. Payload indexes make common filters cheap.

  • Quantisation to fit memory

    Scalar, product and binary quantisation store compressed vectors in memory while the originals stay on disk for rescoring. That lets a large collection run on modest hardware. We measure recall before and after, because the right scheme depends on the embedding model.

  • Sparse vectors and fusion

    Keyword signals are stored as sparse vectors next to dense ones, and the query API fuses the two result lists. Multiple named vectors per point let you search by text, image or title in the same collection. Embedding is done by your pipeline or an integration, which keeps the model choice in your hands.

  • Tenancy and operations

    Tenants are separated by a payload field with an index tuned for that pattern, so one collection can hold many small tenants. Snapshots give backups, and distributed mode adds sharding and replication when one node is no longer enough.

How a query runs

Which store handles each query stage natively

A hybrid query passing through filter, dense ANN search, sparse or BM25 keyword search and fusion, with the stage each of Qdrant and Weaviate handles natively Query text + conditions 1. Filter tenant, date, type 2. Dense ANN HNSW on embeddings 3. Keyword sparse or BM25 4. Fuse and rank one ordered list One hybrid request, four stages Qdrant payload index HNSW, quantised sparse vectors query API fusion Weaviate property filter HNSW, compressed built-in BM25 hybrid query, weighted Both evaluate the filter during the vector search, so selective filters do not empty the result set.
Both stores run all four stages inside one request. The difference is how the keyword stage is fed. Qdrant expects sparse vectors from your pipeline; Weaviate builds its own keyword index as data arrives.
FeatureQdrantWeaviate
Metadata filteringPayload filters during search, payload indexesProperty filters during search, inverted index
Hybrid keyword + vectorSparse vectors fused in the query APIBuilt-in BM25 with hybrid fusion
Vectorise on ingestYour pipeline or an integrationBuilt-in vectoriser modules
Multi-tenancyPayload partitioning with a tenant indexNative tenants, one shard each
Memory compressionScalar, product and binary quantisationVector compression options
Managed cloudQdrant CloudWeaviate Cloud
Self-hostDocker, Kubernetes, distributed modeDocker, Kubernetes, replication
APIsREST, gRPCGraphQL, REST, gRPC
Implementation languageRustGo
Deciding

When we recommend which

Choose Qdrant when
  • Filters on rich metadata are central to every query, such as permissions, regions, dates and product lines.
  • Memory is the constraint and quantisation would let the collection fit on the hardware you have.
  • Your pipeline already produces embeddings and you want to keep the model choice outside the database.
  • You want a lean service with a small operational footprint and gRPC throughput.
Choose Weaviate when
  • Keyword search matters as much as semantic search and you want it built in instead of bolted on.
  • A small team wants the database to handle vectorisation through modules rather than running a separate step.
  • You are building a SaaS product with many tenants of uneven size and need native isolation.
  • Your developers prefer GraphQL and schema-first collections.

Neither is wrong for most mid-sized workloads. If Postgres already holds your data and the corpus is modest, pgvector may be simpler still. If you are heading for cluster scale, read about Milvus. The selection guide puts all five side by side, and the comparison article goes deeper on trade-offs.

What we deliver

From evaluation to a store you can operate

Bake-off on your data

Both stores loaded with a sample of your corpus, your real queries and filters, recall and latency measured, a written recommendation.

Collection and payload design

Schema, payload or property indexes for the filters you will run, named vectors where needed, tenancy model and quantisation settings.

Quantisation explained

Hybrid retrieval pipeline

Sparse vectors or BM25 configured, fusion weights tuned on a labelled query set, and reranking added where it lifts answer quality.

Hybrid search defined

Deployment and runbook

Docker or Kubernetes manifests, or managed cloud set-up; backups, monitoring, upgrade notes and a handover session.

LLMOps and monitoring
Process

How the engagement runs

  1. Assess (week 1)

    Query patterns, filter selectivity, keyword needs, tenant model, hosting and residency constraints. Output: shortlist and bake-off plan.

  2. Bake-off (weeks 1–2)

    Both stores on a sample of your data, measured on your queries. A recommendation with the numbers behind it, kept for your records.

  3. Build (weeks 2–4)

    Ingestion, schema and indexes, hybrid retrieval, tenancy, and integration behind a retrieval interface in your LLM application.

  4. Harden (weeks 4–6)

    Load test, backups verified by restore, monitoring and alerts, runbook, and a walkthrough with the team that will own it.

FAQ

Frequently asked questions

Qdrant or Weaviate: which should we choose?

Qdrant when filtering on rich metadata is central, memory is tight and you want quantisation, or you prefer to own the embedding step. Weaviate when you want keyword search built in, vectorisation handled at ingest through modules, or native multi-tenancy. We run both against your real queries before recommending.

Do both support hybrid keyword and vector search?

Yes, in different ways. Weaviate has BM25 keyword search built in and fuses it with vector results in one hybrid query. Qdrant represents keyword signals as sparse vectors and fuses dense and sparse results in its query API. See hybrid search.

Can we self-host, and is there a managed option?

Both. Each runs under Docker or Kubernetes on your own infrastructure, and each vendor offers a managed cloud. The choice usually comes down to residency rules and whether a team is available to operate it.

What is quantisation and why does it matter here?

Quantisation stores vectors in a compressed form so more of the index fits in memory, at a small cost in precision. Both stores offer it. Qdrant exposes several schemes, which is useful for large collections on modest hardware. Our glossary entry explains the trade-off.

How do we keep tenants apart?

Weaviate has native multi-tenancy, with each tenant isolated within a collection. Qdrant partitions by a tenant field in the payload with an index tuned for that pattern. Both approaches work; we choose by tenant count and isolation requirement.

How long does an engagement take?

Three to six weeks for a production deployment with ingestion, filtering, hybrid retrieval where needed, and monitoring. Ask for a scoping call.

Talk to us about your AI project

Tell us what you are trying to do, which systems are involved and what is in the way. We reply within one business day with an opinion and a suggested next step.