You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the backend Info module (Solr → Info → "Index Fields"), knn_vector fields
are always rendered with 0 documents and the placeholder text Nothing indexed in the terms column — even on a fully vectorised index where
the HNSW segments contain millions of bytes of vector data and frontend
vector search returns relevant hits.
This is misleading: an operator looking at the report assumes vector indexing
is broken, when in fact it just isn't supported by the report's data source.
// :200$limitNote = 'Nothing indexed';
// :281 — fallback when Solr's Luke API doesn't return distinct'terms' => $field->distinct ?? $limitNote,
The Luke API (/admin/luke) returns the usual docs and distinct counts
only for inverted-index fields. For solr.DenseVectorField (HNSW) it returns onlytype and schema flags, e.g.:
…regardless of whether vectors are actually present. The same fallback would
also kick in for any future field type that doesn't expose distinct in
Luke output.
Reproduction
Verified locally on EXT:solr 14.0.0-beta1 with Apache Solr 10.0.0:
curl -sk 'https://<site>/search?q=enterprise+search+platform'| grep -oE '<h3[^>]*>(.*?)</h3>'# → returns semantically related hits, with no keyword overlap in titles
The vectors are demonstrably present and being queried — the report is wrong.
Suggested fix
Two layers, both small:
1. Distinguish "no information available" from "no data"
When the Luke response doesn't include distinct (and the field isn't simply
unindexed), render n/a or <em>not applicable</em> instead of Nothing indexed. Concretely, in getFields():
…or check the schema flags in $field->schema and only show the Nothing indexed placeholder when the field is actually Indexed and the
core has 0 documents.
2. (Optional) Add a vector-aware metric
When a knn_vector (or DenseVectorField) field is present, consider
showing one of:
Number of documents with the vector field set (q=*:*&fq=existsField)
Total size of the HNSW segment files
Vector dimension / similarity function from the schema
…either in the same row or in a dedicated panel. Operators currently have
no in-BE way to confirm "are my vectors actually there?" without reaching
for find on the filesystem.
Affected versions
14.0.0-beta1 (current main)
Likely earlier alpha releases that introduced vector search support
Summary
In the backend Info module (Solr → Info → "Index Fields"),
knn_vectorfieldsare always rendered with
0documents and the placeholder textNothing indexedin the terms column — even on a fully vectorised index wherethe HNSW segments contain millions of bytes of vector data and frontend
vector search returns relevant hits.
This is misleading: an operator looking at the report assumes vector indexing
is broken, when in fact it just isn't supported by the report's data source.
Root cause
Classes/Controller/Backend/Search/InfoModuleController.php:200,281:The Luke API (
/admin/luke) returns the usualdocsanddistinctcountsonly for inverted-index fields. For
solr.DenseVectorField(HNSW) it returnsonly
typeandschemaflags, e.g.:No
docs, nodistinct. So the controller renders:vectorknn_vector…regardless of whether vectors are actually present. The same fallback would
also kick in for any future field type that doesn't expose
distinctinLuke output.
Reproduction
Verified locally on EXT:solr
14.0.0-beta1with Apache Solr10.0.0:plugin.tx_solr.search.query.type = 1,register an embedding model under
name: "llm", configure theconfigset's URP chain to point to the same name — see Vector search: model name mismatch between configset (
language-models) and code (llm) #4650).vector / knn_vector / 0 / Nothing indexed.The vectors are demonstrably present and being queried — the report is wrong.
Suggested fix
Two layers, both small:
1. Distinguish "no information available" from "no data"
When the Luke response doesn't include
distinct(and the field isn't simplyunindexed), render
n/aor<em>not applicable</em>instead ofNothing indexed. Concretely, ingetFields():…or check the schema flags in
$field->schemaand only show theNothing indexedplaceholder when the field is actuallyIndexedand thecore has 0 documents.
2. (Optional) Add a vector-aware metric
When a
knn_vector(orDenseVectorField) field is present, considershowing one of:
q=*:*&fq=existsField)…either in the same row or in a dedicated panel. Operators currently have
no in-BE way to confirm "are my vectors actually there?" without reaching
for
findon the filesystem.Affected versions
14.0.0-beta1(currentmain)Related
language-models) and code (llm) #4650 — model name mismatch in vector wiring (filed today)disabled vector indexing silently
🤖 Reported with Claude Code