Skip to main content

Class: SearchOrchestrationService

Defined in: Services/SearchOrchestrationService.ts:90

Constructors

Constructor

new SearchOrchestrationService(enrichmentRepo, config?): SearchOrchestrationService

Defined in: Services/SearchOrchestrationService.ts:91

Parameters

enrichmentRepo

IEnrichmentRepository | null

config?

SearchOrchestrationConfig = {}

Returns

SearchOrchestrationService

Methods

fetchTagStrengths()

fetchTagStrengths(results, topicEntries, allFused): Map<number, number>

Defined in: Services/SearchOrchestrationService.ts:233

Fetch tag strengths for tag reranking from the enrichment DB. Finds the best-matching topic and looks up per-verse strengths.

Parameters

results

PipelineResult[]

topicEntries

Map<string, SearchTopicEntry>

allFused

RerankResult & object[]

Returns

Map<number, number>


prefetchTopicData()

prefetchTopicData<T>(results, topicEntries, topicalRepoProvider, maxResults): object

Defined in: Services/SearchOrchestrationService.ts:292

Pre-fetch topic data for topic expansion. Extracts topic matches from results, fetches verse lists from DB.

Type Parameters

T

T extends RerankResult & object

Parameters

results

T[]

topicEntries

Map<string, SearchTopicEntry>

topicalRepoProvider

ITopicalRepoProvider

maxResults

number

Returns

object

nonTopicResults

nonTopicResults: T[]

topicMatches

topicMatches: TopicMatch[]

topicVerses

topicVerses: Map<string, TopicVerseData[]>


semanticSearch()

semanticSearch(params): Promise<SemanticSearchResponse>

Defined in: Services/SearchOrchestrationService.ts:100

Run the full semantic search pipeline: embed → vector search → rerank → score fusion → consolidate → tag rerank → topic expansion → enrich.

Parameters

params

SemanticSearchParams

Returns

Promise<SemanticSearchResponse>


fuseHybridResults()

static fuseHybridResults(semanticResults, keywordResults, maxResults): SemanticSearchResult[]

Defined in: Services/SearchOrchestrationService.ts:418

Semantic-primary hybrid fusion: boost semantic results that also match keywords, then append keyword-only results as supplemental.

Parameters

semanticResults

SemanticSearchResult[]

keywordResults

SemanticSearchResult[]

maxResults

number

Returns

SemanticSearchResult[]