weaviate/weaviate · error
no properties provided
Error message
no properties provided
What it means
The rerank module's getScore validates user-supplied rerank parameters. `params.GetProperty()` must return at least one property name whose text will be sent to the reranker. An empty property list makes reranking impossible, so the error is returned before any API call.
Source
Thrown at usecases/modulecomponents/additional/rank/rank_result.go:41
rerankmodels "github.com/weaviate/weaviate/usecases/modulecomponents/additional/models"
)
func (p *ReRankerProvider) getScore(ctx context.Context, cfg moduletools.ClassConfig,
in []search.Result, params *Params,
) ([]search.Result, error) {
if len(in) == 0 {
return nil, nil
}
if params == nil {
return nil, fmt.Errorf("no params provided")
}
rankProperty := params.GetProperty()
query := params.GetQuery()
// check if user parameter values are valid
if len(rankProperty) == 0 {
return in, errors.New("no properties provided")
}
documents := make([]string, len(in))
for i := range in { // for each result of the general GraphQL Query
// get text property
rankPropertyValue := ""
schema := in[i].Object().Properties.(map[string]interface{})
for property, value := range schema {
if property == rankProperty {
if valueString, ok := value.(string); ok {
rankPropertyValue = valueString
}
}
}
documents[i] = rankPropertyValue
}
// rank resultsView on GitHub (pinned to 75aa4b6d11)
Solutions
- Add the required `property` argument to the rerank clause, e.g. rerank { property: "text" query: "..." }.
- If building queries dynamically, validate the property value is non-empty before sending.
- Reference a text property that actually exists on the class.
Example fix
// before
_additional { rerank { query: "best matches" } }
// after
_additional { rerank { property: "content" query: "best matches" } } Defensive patterns
Strategy: validation
Validate before calling
function validateRerankArgs({ property, query }) {
if (!property || property.length === 0) throw new Error('rerank requires a non-empty `property` argument');
return { property, query };
} Try / catch
try { ... } catch (e) { if (String(e).includes('no properties provided')) { console.error('add `property: "<text-prop>"` to the rerank clause'); } else throw e; } Prevention
- Always supply `property` in the rerank clause
- When building queries dynamically, assert the property variable is non-empty
- Use a text (string/text) property that exists on the class
When it happens
Trigger: GraphQL `_additional { rerank { query: "..." } }` without the required `property` argument, or passing an empty property string/array.
Common situations: Copy-pasted query examples omitting `property`; dynamically-built queries where the property variable is empty; typos so the argument never binds.
Understand the failure class
Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.
Related errors
- wrong parameters
- 'nearAudio.audio' needs to be defined
- nearAudio cannot provide both distance and certainty
- nearAudio.targetVectors cannot provide more than 1 target ve
- 'nearDepth.depth' needs to be defined
AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04).
Data as JSON: /api/errors/8e90687111746c51.
Report an issue: GitHub.