Skip to main content

similarity_search.query

Search stored items by semantic similarity and return ranked results with scores and relevance labels.
  • Text query — string; embedded via your configured provider; search text namespaces. Use #key:value and #keyword for filtering
  • Vector query — numeric array; search vector namespaces (length must match vector_dimension)
Search errors return "status": "error" with HTTP 400. Non-2xx responses raise MoorchehApiError.
API: POST /search — see Search

Parameters

string | array
required
Text string or array of numbers. Text queries support #key:value metadata filters and #keyword text filters at the end of the string.
array
required
Non-empty list of namespace names to search. Each namespace must exist and match the query type (text vs vector).
number
default:"5"
Maximum number of results to return. Clamped to 1–100. Default is 5 in the client (server default is 10 if omitted in raw API calls).
number
default:"0"
Minimum score threshold (0–1). Used when kiosk_mode is true.
boolean
default:"false"
When true, threshold is required and results below the threshold are filtered out.

Examples — kiosk mode

Returns

array
Ranked search hits, highest score first. Empty array when nothing matches (including strict metadata filters).
string
Item id in the namespace.
string
Namespace that owns this result.
number
Similarity score between 0 and 1, rounded to 6 decimal places.
string
Human-readable relevance label derived from the score (see table below).
object
Metadata stored with the item. The top content hit may include summary_text (batch summary for uploaded file chunks).
string
Document text for text namespace hits. Empty string "" for vector namespace hits.
number
Total request time in seconds.
object
Detailed timing breakdown for each search phase, in seconds.
string
"error" on validation or search failures (HTTP 400). Present in MoorchehApiError.body, not in successful responses.
string
Error description when the request fails.
Example return value (text search)
Example return value (vector search)

Relevance labels

Error Handling

Non-2xx responses raise MoorchehApiError. Search validation errors use HTTP 400 with "status": "error" in the body.
  • Text search requires a configured embedding provider (Ollama, OpenAI, or Cohere)
  • You cannot search text namespaces with a vector query or vice versa
  • Use #key:value and #keyword at the end of text queries for filtering (same as cloud Moorcheh)
  • With kiosk_mode: True, set threshold (0–1) to control minimum relevance