Skip to content

[yaxuanm/qdrant] Hybrid Search fails on named-vector collections (dense/sparse) #2575

@sharonadhitya

Description

@sharonadhitya

Plugin

yaxuanm/qdrant v0.0.1

Problem

Hybrid Search fails on collections with named vectors (dense, sparse) created outside the plugin (e.g. custom embed scripts).
Error: Qdrant responded with HTTP 400: Wrong input: Not existing vector name error:

Root cause

  1. Operation inference checks text before hybrid indicators → runs operation: "query" instead of hybrid_search
  2. Plain query sends unnamed vector to /points/search — invalid when collection has only named vectors
  3. Sparse vector is not generated from text in hybrid path (only dense embedding is created)

Reproduction

  • Collection: named vectors dense (3072) + sparse
  • Tool: Qdrant · Hybrid Search
  • Inputs: text, using_dense: dense, using_sparse: sparse, fusion_method: rrf
  • Embedding: text-embedding-3-large

Expected

hybrid_search/points/query with prefetch using dense and sparse

Actual

query/points/search with flat vector array (no vector name)

Fix verified locally (v0.0.2)

  • Route hybrid before text→query
  • Set operation: hybrid_search on hybrid tool YAML
  • Generate sparse via fastembed (Qdrant/bm25)
  • Add fastembed dependency

Environment

  • Dify 1.14.2 (self-hosted)
  • Qdrant Cloud
  • Plugin: yaxuanm/qdrant 0.0.1 from Marketplace

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions