Skip to content

Commit 20e4e20

Browse files
committed
fix(app-degree-pages): improving search relevancy
1 parent 43046a8 commit 20e4e20

File tree

2 files changed

+25
-24
lines changed

2 files changed

+25
-24
lines changed

packages/app-degree-pages/src/core/services/degree-data-manager-service.js

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -50,24 +50,22 @@ function filterData({
5050
if (!searchTerm) return true;
5151
const regex = new RegExp(searchTerm, "i");
5252
const title = regex.test(resolver.getMajorDesc());
53-
if (title){
53+
if (title) {
5454
return true;
5555
}
56-
else{
57-
return false;
58-
}
56+
57+
return false;
5958
};
6059

6160
const filterByKeywordDescription = (resolver, searchTerm) => {
6261
if (!searchTerm) return true;
6362
const regex = new RegExp(searchTerm, "i");
6463
const description = regex.test(resolver.getFullDescription());
65-
if (description){
64+
if (description) {
6665
return true;
6766
}
68-
else{
69-
return false;
70-
}
67+
68+
return false;
7169
};
7270

7371
const filterByBlacklist = resolver =>
@@ -104,26 +102,31 @@ function filterData({
104102
);
105103
};
106104

107-
let filteredByTitle = [];
108-
let filteredByDescription = [];
109-
let newPrograms;
105+
const filteredByTitle = [];
106+
const filteredByDescription = [];
110107

111-
newPrograms = programs.filter(degree => {
108+
const newPrograms = programs.filter(degree => {
112109
const resolver = degreeDataPropResolverService(degree);
113110

114-
if(filterByKeywordTitle(resolver, keyword)) {
115-
if (applyFilters(degree)) {
116-
filteredByTitle.push(degree);
117-
}
118-
return false;
119-
}
111+
const isFilteredByTitle = filterByKeywordTitle(resolver, keyword);
112+
const isFilteredByDescription = filterByKeywordDescription(
113+
resolver,
114+
keyword
115+
);
120116

121-
if(filterByKeywordDescription(resolver, keyword)) {
122-
if (applyFilters(degree)) {
117+
if (
118+
(isFilteredByTitle || isFilteredByDescription) &&
119+
applyFilters(degree)
120+
) {
121+
if (isFilteredByTitle) {
122+
filteredByTitle.push(degree);
123+
} else {
123124
filteredByDescription.push(degree);
124125
}
125-
return false;
126+
return true;
126127
}
128+
129+
return false;
127130
});
128131

129132
return filteredByTitle.concat(filteredByDescription);

packages/app-degree-pages/src/core/services/degree-data-prop-resolver-service.jsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ function degreeDataPropResolverService(row = {}) {
9191
/** @type {string} */
9292
const gradRequirement2 = row["degreeRequirements"] || "";
9393
return `${gradRequirement1}${gradRequirement2}`;
94-
9594
},
9695
isOnline: () => row["asuOnlineAcadPlanUrl"], // Returns null if online url is not available
9796
// See getGeneralDegreeMajorMap for more info
@@ -222,9 +221,8 @@ function degreeDataPropResolverService(row = {}) {
222221
const text = row["stemOptText"];
223222
if (text && text !== "") {
224223
return "Yes";
225-
} else {
226-
return "No";
227224
}
225+
return "No";
228226
},
229227
getSubPlnMajorMaps: () => {
230228
if (!row["subplans"] || !row["majorMapSubplans"]) return [];

0 commit comments

Comments
 (0)