weaviate/weaviate · error
cannot vector-search on a class not vector-indexed
Error message
cannot vector-search on a class not vector-indexed
What it means
Hard rejection returned by the noop (skip=true) vector index when a vector search is attempted. The index exists only so a non-indexed class can hold objects without vectors; any search call is a programming/configuration error — the class was created with 'skip' set, so there is nothing to search.
Source
Thrown at adapters/repos/db/vector/noop/index.go:73
}
func (i *Index) AddMulti(ctx context.Context, docId uint64, vector [][]float32) error {
// silently ignore
return nil
}
func (i *Index) Delete(id ...uint64) error {
// silently ignore
return nil
}
func (i *Index) DeleteMulti(id ...uint64) error {
// silently ignore
return nil
}
func (i *Index) SearchByVector(ctx context.Context, vector []float32, k int, allow helpers.AllowList) ([]uint64, []float32, error) {
return nil, nil, errors.Errorf("cannot vector-search on a class not vector-indexed")
}
func (i *Index) SearchByMultiVector(ctx context.Context, vector [][]float32, k int, allow helpers.AllowList) ([]uint64, []float32, error) {
return nil, nil, errors.Errorf("cannot vector-search on a class not vector-indexed")
}
func (i *Index) SearchByVectorDistance(ctx context.Context, vector []float32, dist float32, maxLimit int64, allow helpers.AllowList) ([]uint64, []float32, error) {
return nil, nil, errors.Errorf("cannot vector-search on a class not vector-indexed")
}
func (i *Index) SearchByMultiVectorDistance(ctx context.Context, vector [][]float32, dist float32, maxLimit int64, allow helpers.AllowList) ([]uint64, []float32, error) {
return nil, nil, errors.Errorf("cannot multi-vector-search on a class not vector-indexed")
}
func (i *Index) UpdateUserConfig(updated schemaConfig.VectorIndexConfig, callback func()) error {
callback()
switch t := updated.(type) {
case hnswconf.UserConfig:View on GitHub (pinned to 75aa4b6d11)
Solutions
- Re-create the class without skip=true if vector search is needed, then reimport vectors
- Remove the vector-search query path for classes configured with skip
- Check client/API usage: GraphQL nearVector or hybrid queries against a skipped class will always fail
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at adapters/repos/db/vector/noop/index.go:73 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04).
Data as JSON: /api/errors/3a2f2bd91fdac2ec.
Report an issue: GitHub.