diff --git a/ts/packages/knowPro/src/dataFormat.ts b/ts/packages/knowPro/src/dataFormat.ts index 06f60b357..221c86e3d 100644 --- a/ts/packages/knowPro/src/dataFormat.ts +++ b/ts/packages/knowPro/src/dataFormat.ts @@ -89,7 +89,7 @@ export interface IConversation { semanticRefs: SemanticRef[] | undefined; semanticRefIndex?: ITermToSemanticRefIndex | undefined; propertyToSemanticRefIndex: IPropertyToSemanticRefIndex | undefined; - relatedTermsIndex?: ITermToRelatedTermsIndex | undefined; + termToRelatedTermsIndex?: ITermToRelatedTermsIndex | undefined; timestampIndex?: ITimestampToTextRangeIndex | undefined; } diff --git a/ts/packages/knowPro/src/relatedTermsIndex.ts b/ts/packages/knowPro/src/relatedTermsIndex.ts index 08d433825..3179bf56f 100644 --- a/ts/packages/knowPro/src/relatedTermsIndex.ts +++ b/ts/packages/knowPro/src/relatedTermsIndex.ts @@ -74,12 +74,14 @@ export async function resolveRelatedTerms( relatedTermsIndex: ITermToRelatedTermsIndex, searchTerms: SearchTerm[], ): Promise { - // Resolve any hardcoded mappings for (const searchTerm of searchTerms) { const termText = searchTerm.term.text; + // Resolve any specific term to related term mappings if (!searchTerm.relatedTerms || searchTerm.relatedTerms.length === 0) { searchTerm.relatedTerms = relatedTermsIndex.lookupTerm(termText); } + // If no hard-coded mappings, lookup any fuzzy related terms + // Future: do this in batch if (!searchTerm.relatedTerms || searchTerm.relatedTerms.length === 0) { searchTerm.relatedTerms = await relatedTermsIndex.lookupTermFuzzy(termText); diff --git a/ts/packages/knowPro/src/search.ts b/ts/packages/knowPro/src/search.ts index a0c01118c..1f9a6412d 100644 --- a/ts/packages/knowPro/src/search.ts +++ b/ts/packages/knowPro/src/search.ts @@ -185,9 +185,9 @@ class SearchQueryBuilder { } private async prepareSearchTerms(searchTerms: SearchTerm[]): Promise { - if (this.conversation.relatedTermsIndex) { + if (this.conversation.termToRelatedTermsIndex) { await resolveRelatedTerms( - this.conversation.relatedTermsIndex, + this.conversation.termToRelatedTermsIndex, searchTerms, ); }