Skip to content

BuildNot yet confirmed elsewhere1 publisher3 min readPublished

The query a vector index cannot answer, whatever you embed it with

A consultant's two client failures, a supplier filter and a 10kg shipping quote, both broke on a numeric comparison that top-k similarity does not perform.

The Engineer · Build desk

How we use AISend a correction

What happened

  • A consultant reports a Mumbai marketplace whose LLM support agent kept returning almost right catalog answers because its knowledge sat in a vector database.
  • The question that broke it: which suppliers ship to Zone 4 and have a return rate under 3 percent, two conditions plus a relationship traversal.
  • A second client stored its whole rate card as vector chunks; a 10kg Mumbai to Delhi quote came back from the chunk for a different weight band, confidently.
  • The same practitioner says he has run Qdrant, pgvector and Neo4j in production, and argues teams choose by fashion rather than by query shape.
  • He still rates vectors unbeatable for document retrieval, measuring top-5 chunk lookup at tens of milliseconds at meaningful scale.

Why it matters

  • constraint No encoder upgrade buys a threshold filter, so money spent on embedding quality cannot reach this class of question; the ceiling is in the index, not the model.
  • cost The failure arrives as a confident answer rather than an error, so it is paid by whoever acts on the output while the retrieval stack logs a successful query.
  • decision Going to a graph commits a team to declaring relationships before anyone asks the question, making it a modelling job with an ingest bill rather than a query engine swap.
  • exposure Anything with priced tiers behind an LLM answer is reachable the same way: the customer is quoted a number nobody checked against the band boundaries.

Top-k retrieval does one thing: embed the question, rank stored chunks by distance, return the source text of the winners [6]. The Zone 4 question asks for something else, namely a set intersection over two attributes, one of them a numeric threshold, joined across a relationship that has to exist somewhere as an edge [3] [7]. No ranking function produces that. The author's blunt version is the accurate one: the store cannot do WHERE clauses, because each chunk is an island and there is no supplier object anywhere holding a return rate [10]. A better encoder changes which island you land on. It does not create the join.

Put the two reported failures side by side and they rhyme more tightly than the article claims. One breaks on "under 3%" [3]. The other breaks on a 10kg parcel matching the chunk for a different weight band [12]. Both are numeric comparisons, not topical misses [14], and in both cases the retrieved text was plausibly on-subject, which is exactly why it passed.

That is where the article's own framing strains. The rate card case is retrieval-augmented generation over documents, the workload the author calls unbeatable for vectors and clocks in tens of milliseconds at meaningful scale [18] [12]. So corpus type does not predict fit [15]. A rate card arrives as bands before anyone chunks it; the chunking is the step that discards the band boundaries the question needs, and after that the index has the same island problem as the supplier attributes [17]. The useful discriminator is not documents versus entities. It is whether answering requires a comparison the index cannot compute.

The graph side is not free either, and the source says so in passing: a knowledge graph answers the supplier query only if it was built with those relationships in the first place [4], with entities and edges declared and traversed in Cypher or SPARQL [7]. That moves the work from query time to schema time rather than removing it [16]. Against that sits the cheapness the author credits to vectors: pgvector inside the PostgreSQL you already run, Qdrant standing up in a weekend, one vector per chunk instead of a web of edges [9]. The fashion problem he names [5] is partly a budgeting problem, because the store that is cheap to install is also the one that quietly cannot answer a whole class of question.

Worth holding the evidence at its actual weight. This is two client engagements described by one practitioner who has shipped both sides [1] [13], and the 1 to 5 comparison table he says decides budgets is referred to but not reproduced in the text we have [19]. The mechanism argument stands on its own; the scores would need to be seen. What the two cases do establish is a cheap design check: list the questions the system must answer, and mark the ones containing a threshold, a band, or an "and" across two attributes [14] [8]. Those are the ones no amount of embedding quality will reach.

What to watch

  • Publication of the 1 to 5 scored table the author says decides budgets, which would let the cost and reasoning claims be checked rather than taken on trust.
  • Any measurement showing the two-condition supplier query answered without a graph, which would move the boundary from architectural to solvable.
  • Whether the logistics client's rate card ends up in a graph or simply back in a table, a route the article's two-store framing does not cover.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence32
Adoption24
Hype gap+14
Incentives42
Confidence46
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    The author says he has shipped both in production for clients: Qdrant and pgvector on the vector side, Neo4j on the graph side.

  2. [2]

    A consultant describes a Mumbai marketplace client whose LLM support agent kept giving almost right answers about a catalog of thousands of products, suppliers and delivery zones, because the knowledge lived in a vector database.

    ReportedSupportedSource: dev.to article by the practitionerView cited source
  3. [3]

    The question the vector store could not answer was "which suppliers ship to Zone 4 and have a return rate under 3%?", which the author says requires combining two conditions and traversing a relationship.

    ReportedSupportedView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · August 25, 2026

    Vector Database vs Knowledge Graph: Choosing Your LLM Store

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Loading related stories