Skip to content
SolidRusT.ai

Keyword Search

Keyword search performs full-text search across the knowledge base with typo tolerance and configurable sorting. Useful when searching for specific terms, error codes, or exact phrases.

POST https://api.solidrust.ai/data/v1/query/keyword
ParameterTypeRequiredDefaultDescription
querystring✅ YesThe keyword search query
limitintegerNo10Maximum results (1–100)
offsetintegerNo0Pagination offset
sourcesstring[]NoallFilter by source names
content_typestringNoFilter by content type
sortstringNorelevanceSort order: relevance or date
Terminal window
curl -X POST "https://api.solidrust.ai/data/v1/query/keyword" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "rate limit 429 error",
"limit": 10,
"sort": "relevance"
}'
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.solidrust.ai"
def keyword_search(query: str, limit: int = 10, sort: str = "relevance") -> dict:
"""Full-text keyword search with typo tolerance."""
response = requests.post(
f"{BASE_URL}/data/v1/query/keyword",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"query": query,
"limit": limit,
"sort": sort
}
)
return response.json()
results = keyword_search("rate limit 429 error")
print(f"Found {results['total']} results in {results['latency_ms']}ms")
for r in results["results"]:
print(f" {r['metadata'].get('title', 'Untitled')}")
print(f" {r['content'][:150]}...\n")
const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://api.solidrust.ai';
async function keywordSearch(query, { limit = 10, sort = 'relevance' } = {}) {
const res = await fetch(`${BASE_URL}/data/v1/query/keyword`, {
method: 'POST',
headers: {
Authorization: `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ query, limit, sort }),
});
return res.json();
}
const results = await keywordSearch('rate limit 429 error');
console.log(`Found ${results.total} results`);
results.results.forEach(r => {
console.log(` ${r.metadata?.title || 'Untitled'}`);
});

Use offset with limit for paginated results:

page_1 = keyword_search("embeddings", limit=10, offset=0)
page_2 = keyword_search("embeddings", limit=10, offset=10)
Sort ModeDescription
relevanceRanked by keyword match relevance (default)
dateSorted by document creation date
StatusCodeDescription
400invalid_requestMissing or invalid parameters
401INVALID_API_KEYMissing or invalid API key
429RATE_LIMIT_EXCEEDEDToo many requests