{"id":"hybrid-search-rag","slug":"hybrid-search-rag","name":"Hybrid keyword + vector RAG","shortName":"Hybrid keyword + vector RAG","problemStatement":"Need BM25/keyword + vector in one system.","whenNotTopPick":"Simple semantic-only — Qdrant/pgvector.","categoryIds":["cat-vector-memory"],"depotPickProviderId":"weaviate","depotPickRationale":"capability hybrid search.","runnersUpIds":["qdrant","supabase-pgvector","zilliz","typesense-cloud","algolia","meilisearch-cloud","elastic-serverless"],"weights":{"capabilityFit":0.28,"pricePerformance":0.16,"latencyReliability":0.14,"developerDx":0.18,"privacyPosture":0.08,"lockInRisk":0.08,"maturity":0.08},"methodologyNotes":"capability hybrid search.","tags":["hybrid"],"depth":{"whenNotToUse":{"text":"Simple semantic-only — Qdrant/pgvector.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"qdrant","name":"Qdrant","overallForJob":8.6,"pickOverallForJob":8.2,"beatsPickOn":["capabilityFit","pricePerformance","latencyReliability","developerDx","lockInRisk"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":3.5,"runnerUpLockInRisk":3,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":["open source (provider tag `oss`)"],"runnerUpExitSignals":["open source (provider tag `oss`)"],"pickNotes":[{"text":"Open-source escape hatch","field":"strengths"},{"text":"Ops complexity self-hosted","field":"weaknesses"},{"text":"self-host when lock-in anxiety spikes.","field":"scores.notes"}],"selfHostFallback":[{"id":"qdrant-oss","name":"Qdrant","license":"Apache-2.0","sourceUrl":"https://github.com/qdrant/qdrant/blob/master/LICENSE"}],"migration":"Runner-up Qdrant has lower stored lock-in risk (3 vs 3.5, 0–10, higher = more lock-in). Pick exit signals: open source (provider tag `oss`). Self-host fallback listed for this job: Qdrant.","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"freshness":{"pick":{"score":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":1,"sourcesReachable":1,"pricingRows":0,"pricingRowsReconfirmed":0,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}}}}