cURL
curl --request GET \ --url https://api.example.com/api/search/stream
{ "status": "<string>", "data": { "query": "<string>", "total_results": 123, "results": [ { "path": "<string>", "title": "<string>", "summary": "<string>", "keywords": [ {} ], "score": 123, "semantic_score": 123, "keyword_score": 123 } ] } }
curl "http://localhost:60534/api/search/stream?query=meeting+notes&limit=10"
import requests response = requests.get( 'http://localhost:60534/api/search/stream', params={ 'query': 'meeting notes', 'limit': 10, 'min_score': 0.2 } ) for result in response.json()['data']['results']: print(f"{result['title']}: {result['path']}")
const params = new URLSearchParams({ query: 'meeting notes', limit: 10, min_score: 0.2 }); const response = await fetch( `http://localhost:60534/api/search/stream?${params}` ); const data = await response.json(); data.data.results.forEach(result => { console.log(`${result.title}: ${result.path}`); });
success
error
Show properties
Show result object
{ "status": "success", "data": { "query": "meeting notes", "total_results": 8, "results": [ { "path": "/Users/username/Documents/Q4-planning-meeting.md", "title": "Q4 Planning Meeting Notes", "summary": "Discussion of Q4 roadmap including feature priorities, resource allocation, and timeline adjustments. Key decisions on API redesign and mobile app launch.", "keywords": ["planning", "Q4", "roadmap", "meeting", "decisions"], "score": 0.89, "semantic_score": 0.47, "keyword_score": 0.42 }, { "path": "/Users/username/Documents/standup-2024-01-15.txt", "title": "Daily Standup - January 15", "summary": "Team standup covering progress on authentication system, blockers with database migrations, and upcoming sprint planning meeting.", "keywords": ["standup", "meeting", "progress", "blockers"], "score": 0.73, "semantic_score": 0.38, "keyword_score": 0.35 } ] } }
{ "status": "error", "error": { "code": "INVALID_QUERY", "message": "Query must be at least 2 characters" } }
exp(-distance)
final_score = semantic_score + keyword_score