@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
TypeScript
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;
};
}