From 9f86bb40bd2cebc7268a3b7586a87642bc655d06 Mon Sep 17 00:00:00 2001 From: ChelseaKR Date: Thu, 16 Jan 2025 19:42:29 -0800 Subject: [PATCH] feat: include and prioritize exact matches while retaining broader contains matches for learning opportunity profile ceterms:name an ceterms:description --- backend/src/domain/search/searchTrainings.ts | 26 ++++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/backend/src/domain/search/searchTrainings.ts b/backend/src/domain/search/searchTrainings.ts index e51834b51..bb85febfc 100644 --- a/backend/src/domain/search/searchTrainings.ts +++ b/backend/src/domain/search/searchTrainings.ts @@ -334,14 +334,14 @@ function buildQuery(params: { let termGroup: TermGroup = { "search:operator": "search:orTerms", ...(isSOC || isCIP || !!isZipCode || isCounty ? undefined : { - "ceterms:name": { - "search:value": params.searchQuery, - "search:matchType": "search:contains" - }, - "ceterms:description": { - "search:value": params.searchQuery, - "search:matchType": "search:contains" - }, + "ceterms:name": [ + { "search:value": params.searchQuery, "search:matchType": "search:exact" }, + { "search:value": params.searchQuery, "search:matchType": "search:contains" }, + ], + "ceterms:description": [ + { "search:value": params.searchQuery, "search:matchType": "search:exact" }, + { "search:value": params.searchQuery, "search:matchType": "search:contains" }, + ], "ceterms:ownedBy": { "ceterms:name": { "search:value": params.searchQuery, @@ -355,11 +355,11 @@ function buildQuery(params: { "search:matchType": "search:startsWith" } } : undefined, - "ceterms:instructionalProgramType": isCIP ? { - "ceterms:codedNotation": { - "search:value": params.searchQuery, - "search:matchType": "search:startsWith" - } + "ceterms:instructionalProgramType": isCIP ? { + "ceterms:codedNotation": { + "search:value": params.searchQuery, + "search:matchType": "search:startsWith" + } } : undefined };