Skip to content

Vector search silently degrades when configured index has no ready manifest rows #1236

Description

@phernandez

Finding (Milvus tire-kick session, #1235)

When semantic_vector_index points at an index that holds no ready manifest rows for the
project, search silently degrades with no signal, in both directions:

  • pgvector-indexed project, config flipped to milvus, before bm reindex --embeddings:
    --vector returns "No results found"; --hybrid quietly serves FTS-only results.
  • The reverse (milvus-owned manifest, pgvector configured): identical silent degradation.

_hydrate_vector_matches filters on vector_index = <configured>, so zero rows hydrate.
The user gets no warning that semantic recall is gone — hybrid results still look
plausible because FTS carries them.

Proposal

When a vector/hybrid query finds the configured index has zero ready manifest rows for the
project (a cheap count), surface it: a logged warning at minimum, ideally a response-level
notice ("semantic index 'milvus' has no ready vectors for this project — run
bm reindex --embeddings"). Fail-closed hydration itself is correct and should not change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions