Skip to content
SolidRusT.ai

Semantic Search

The semantic search endpoint performs similarity search across the knowledge base using vector embeddings. Documents are ranked by semantic similarity to your query, finding conceptually related content even when keywords don’t match.

POST https://api.solidrust.ai/data/v1/query/semantic
ParameterTypeRequiredDefaultDescription
querystring✅ YesNatural language search query
sourcesstring[]NoallFilter results to specific source names
limitintegerNo10Maximum results (1–100)
min_scorefloatNo0.5Minimum similarity score threshold (0.0–1.0)
filtersobjectNoAdditional metadata key-value filters
Terminal window
curl -X POST "https://api.solidrust.ai/data/v1/query/semantic" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "How do I implement authentication?",
"limit": 5,
"min_score": 0.5
}'
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.solidrust.ai"
def semantic_search(query: str, limit: int = 10, min_score: float = 0.5) -> dict:
"""Search the knowledge base using semantic similarity."""
response = requests.post(
f"{BASE_URL}/data/v1/query/semantic",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"query": query,
"limit": limit,
"min_score": min_score
}
)
return response.json()
results = semantic_search("How do I implement authentication?")
print(f"Found {results['total']} results in {results['latency_ms']}ms")
for r in results["results"]:
print(f"\nScore: {r['score']:.2f}{r['metadata'].get('title', 'Untitled')}")
print(f" {r['content'][:150]}...")
const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://api.solidrust.ai';
async function semanticSearch(query, { limit = 10, minScore = 0.5 } = {}) {
const res = await fetch(`${BASE_URL}/data/v1/query/semantic`, {
method: 'POST',
headers: {
Authorization: `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ query, limit, min_score: minScore }),
});
return res.json();
}
const results = await semanticSearch('How do I implement authentication?');
console.log(`Found ${results.total} results in ${results.latency_ms}ms`);
results.results.forEach(r => {
console.log(` ${r.score.toFixed(2)}${r.metadata?.title || 'Untitled'}`);
});
{
"query": "How do I implement authentication?",
"results": [
{
"id": "chunk-abc123",
"content": "Authentication is handled via API keys...",
"score": 0.87,
"metadata": {
"source": "api-docs",
"source_id": "auth-guide",
"title": "Authentication Guide",
"url": "https://docs.solidrust.ai/api/overview",
"content_type": "docs"
}
}
],
"total": 1,
"latency_ms": 45.2
}

Narrow results to specific document sources:

results = requests.post(
f"{BASE_URL}/data/v1/query/semantic",
headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},
json={
"query": "rate limits",
"sources": ["api-docs", "guides"],
"min_score": 0.6
}
).json()
StatusCodeDescription
400invalid_requestMissing or invalid parameters
401INVALID_API_KEYMissing or invalid API key
429RATE_LIMIT_EXCEEDEDToo many requests