UNPKG

@knath2000/codebase-indexing-mcp

Version:

MCP server for codebase indexing with Voyage AI embeddings and Qdrant vector storage

55 lines (54 loc) 1.62 kB
import { SearchQuery, SearchResult, HybridSearchResult, Config, SparseVector } from '../types.js'; export declare class HybridSearchService { private enabled; private alpha; constructor(config: Config); /** * Check if hybrid search is enabled */ isEnabled(): boolean; /** * Perform hybrid search combining dense and sparse retrieval */ hybridSearch(_query: SearchQuery, denseResults: SearchResult[], sparseResults?: SearchResult[]): Promise<HybridSearchResult>; /** * Combine dense and sparse results using weighted scoring */ private combineResults; /** * Generate sparse vector representation for BM25-style search * This is a simplified implementation - in production, you'd use a proper BM25 library */ generateSparseVector(text: string, vocabulary: Map<string, number>): SparseVector; /** * Simple tokenization for sparse vector generation */ private tokenize; /** * Check if a word is a stop word */ private isStopWord; /** * Adjust the alpha parameter for different query types */ adaptiveAlpha(query: SearchQuery): number; /** * Detect if query is semantic in nature */ private isSemanticQuery; /** * Detect if query is looking for exact matches */ private isExactMatchQuery; /** * Get hybrid search statistics */ getStats(): { enabled: boolean; alpha: number; totalQueries: number; denseOnlyQueries: number; hybridQueries: number; averageImprovement: number; }; }