knowledgegraph-mcp
Version:
MCP server for enabling persistent knowledge storage for Claude through a knowledge graph with multiple storage backends
50 lines • 2.11 kB
TypeScript
import { Pool as PgPool } from 'pg';
import { Entity } from '../../core.js';
import { SearchConfig, PaginationOptions, PaginationResult } from '../types.js';
import { BaseSearchStrategy } from './base-strategy.js';
/**
* PostgreSQL search strategy - supports both database-level and client-side fuzzy search
*/
export declare class PostgreSQLFuzzyStrategy extends BaseSearchStrategy {
private pgPool;
private project;
private searchLimits;
constructor(config: SearchConfig, pgPool: PgPool, project: string);
canUseDatabase(): boolean;
searchDatabase(query: string | string[], threshold: number, project?: string): Promise<Entity[]>;
private searchSingleDatabase;
searchClientSide(entities: Entity[], query: string | string[]): Entity[];
private searchSingleClientSide;
/**
* Get all entities for a project from PostgreSQL database
* This is used to load entities for client-side search
* Respects maxClientSideEntities limit to prevent memory issues
*/
getAllEntities(project?: string): Promise<Entity[]>;
/**
* Optimized multiple query search using single SQL query with OR conditions
* This replaces the inefficient sequential query processing from base strategy
*/
private searchMultipleDatabaseOptimized;
/**
* Handle very large query arrays by processing them in batches
*/
private searchMultipleDatabaseBatched;
/**
* Get all entities with pagination support
*/
getAllEntitiesPaginated(pagination: PaginationOptions, project?: string): Promise<PaginationResult<Entity>>;
/**
* Database-level fuzzy search with pagination support
*/
searchDatabasePaginated(query: string | string[], threshold: number, pagination: PaginationOptions, project?: string): Promise<PaginationResult<Entity>>;
/**
* Single database fuzzy search with pagination
*/
private searchSingleDatabasePaginated;
/**
* Multiple database fuzzy search with pagination
*/
private searchMultipleDatabasePaginated;
}
//# sourceMappingURL=postgresql-strategy.d.ts.map