Skip to main content
Semantic search retrieves records by meaning rather than exact keywords. It uses the same /v1/search endpoint and the same response envelope as text search — you opt in with semantic: true.

Prerequisites

  • A dataset whose semantic search is ready. Check readiness first; semantic indexing completes after text indexing.

Search by meaning

curl https://api.withsplendor.com/v1/search \
  -H "Authorization: Bearer $SPLENDOR_TOKEN" \
  -H "X-Splendor-Tenant-Id: $SPLENDOR_TENANT_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "users cannot log in",
    "datasets": ["support-tickets"],
    "semantic": true,
    "limit": 20
  }'
A query like users cannot log in will surface records about failed authentication, password resets, and locked accounts even when they share no keywords.
  • Totals are approximate. Semantic search is top-K retrieval, so total is reported as { "value": null, "relation": "unknown" }. Do not treat it as an exact count.
  • Scores are vector (or hybrid when blended with text).
  • Modalities. Use content_filter to choose what to search: text (default), images, or all to search both and merge.
For reproducible analysis over semantic results, materialize them into a view so membership and rank are fixed, then run SQL or export against that handle.

The search model

How text, SQL, and semantic search share one envelope.

Create a view

Freeze a semantic result set for repeatable work.