{"endpoint":"/api/vector-search","description":"Semantic vector search across 662k+ crypto news articles with hybrid BM25 + embedding similarity","methods":{"GET":{"params":{"q":"Search query (natural language)","topK":"Number of results (default: 10, max: 100)","alpha":"Vector vs keyword weight (0=keyword only, 1=vector only, default: 0.7)","temporalDecay":"Recency bias (0=none, 1=strong, default: 0)","minScore":"Minimum similarity threshold (0-1, default: 0.3)","action":"stats | similar | topics","articleId":"(for action=similar) Find articles similar to this one","numTopics":"(for action=topics) Number of topic clusters (default: 8)"}},"POST":{"description":"Index new documents or batch search","body":{"action":"index | batch-search","documents":"(index) Array of { id, text, metadata: { title, source, publishedAt } }","queries":"(batch-search) Array of query strings"}}},"features":["Hybrid search: BM25 keyword + cosine vector similarity","Configurable alpha blending between search methods","Temporal decay for recency-weighted results","Article similarity: \"find articles like this one\"","Topic discovery via K-means clustering with k-means++ init","Real-time search highlight generation","Metadata filtering by date range, category, source"],"stats":{"totalDocuments":0,"indexedDocuments":0,"embeddingDimension":1536,"memoryUsageMB":0,"lastIndexedAt":null,"indexBuildTimeMs":0},"_meta":{"responseTimeMs":1}}