Design · not a shipped productAn interface study for oneground. No application like this exists; the tool is a set of commands and the figures here are illustrative.What is actually shipped →
oneground
support-tickets-2026q3 · 20,000 vectors, 768-d · 2,000 queries
pinned environment · calibrated 2026-09-11, −0.0019

Decision

8 configurations · 3 families · 5 constraints

Every constraint is met, failed, or unchecked. Select any figure to see the file and field it was read from.

0 meets 6 fails 2 couldn't check
No recommendation. single_node_hnsw meets every constraint that could be checked on recall and storage, and its latency verdict is couldn't check rather than meets — so the constraint that would have decided between it and hash_sharded is the one this evidence cannot settle. What can still be checked is reported above; what cannot is not rounded up.
configurationrecall@10storage p95 under loadsustainedoutcome
single_node_hnsw
M=32 ef=128
couldn't check
hash_sharded
shards=3 ef=96
1.00× — couldn't check
semantic_sharded
ε=0.20 probe=2
—— fails
semantic_sharded
ε=0.10 probe=2
0.89522.67×—— fails
semantic_sharded
ε=0.00 probe=1
0.54721.00×—— fails
indistinguishable

single_node_hnsw and hash_sharded differ by less than the calibration tolerance on recall. They are separated only where they differ measurably. simulate.json:rows[*].recall_at_10 · tolerance 0.01

couldn't check

single_node_hnsw could not be checked on latency_p95 — meets in 1 of 2 runs, spread 4.60 ms. The same configuration measured 38.22 ms in environment tf8sd2usxbblsm (9 September) and 42.82 ms in z01d7n4buc1a6i (11 September) against a 40.0 ms constraint that fell between them. A latency verdict within ~15% of its threshold is not settled by one run, so neither meets nor fails is supported by this evidence. verify.json:searches[k=10_under_load].p95_ms

to resolve

hash_sharded could not be checked on latency_p95: the verify run built a single index, which is not a hash_sharded deployment. This row's architecture was simulated and never built. verify_info.json:engine_facts.index_params

Your corpus

measured on 20,000 of 2.1M vectors

Five properties decide which architectures are worth trying at all. These are measurements of your data, not a comparison against anything.

Topic separability
Almost no vector has a clearly nearest region. Partitioning by meaning has little to partition on.
Ambiguous queries
Nine in ten queries sit between two regions.
Intrinsic dimension
32.6
Distances concentrate; near neighbours are close together in score.
Skew
0.075
The ten largest regions hold 7.5% of the corpus.
Answers going stale
couldn't check
No timestamp column supplied. Add one and drift is measured over your own history.
Each figure recomputes from your sample with a published definition and a stated tolerance. The same commands reproduce them on any machine with the pinned environment.

The alternatives

8 configurations, scored against exact answers

Nothing here is a verdict. Recall is split into what the partition lost and what the index lost, so you know which one to fix.

configurationrecall@10reachableindex lossstoragefan-out
hash_sharded shards=30.99841.00000.00161.00×3
single_node_hnsw M=320.99761.00000.00241.00×1
semantic ε=0.20 probe=20.93180.00063.72×2
semantic ε=0.10 probe=20.89520.89580.00062.67×2
semantic ε=0.20 probe=10.77550.77610.00063.72×1
semantic ε=0.00 probe=10.54720.54780.00061.00×1
Index loss is near zero in every semantic row: everything missing was unreachable from the route, not missed by the index. No amount of index tuning recovers it.

The real engine

qdrant 1.19.1 · runpod tf8sd2usxbblsm · measured on arxiv-150k, 150,000 vectors — not on the support-tickets corpus this page otherwise describes

Latency and throughput are properties of an implementation on a machine. They are measured, never simulated.

p95 under load
concurrency 32 · 59,999 of 60,000 queries · one run
Sustained
200.0
of 200 offered, 0 errors, 300 s
Ceiling
381.2
environment 1ombs4scr257a5, 13 September — a different run from the p95 above; stopped at concurrency 8 on p99 degradation, not errors
Recall measured
0.9994
against the same exact answers the simulation used
Round-trip share
18.3%
RTT baseline p95 6.99 ms over query p95 38.22 ms, same run — under the 20% limit, so this figure describes the engine rather than the path. docs/VERIFY.md, session 20260909-225058.
A second engine measured on a different machine is not a comparison. To compare, run both on one host with this sample — the report will say so rather than ranking them.

The ground

your vectors, partitioned

Semantic sharding stores a copy of a vector in every region whose centre is within ε of its nearest. Move ε and the copies are recounted from the distances carried for each vector.

Schematic: this mockup draws generated points. In the product the ground draws your own vectors, and the placement is a projection — regions, distances and copy counts are computed in the full 768 dimensions.
closure band ε0.20
vectors copied—
storage—
p99 copies—

One query, every hop

2,000 held-out queries with exact top-10

Follow a query from scoring to answer, and see which of its true neighbours the route never reaches.

Schematic placement. The route, the neighbours and the miss count come from the run's own state.