From efcb66d69ed107caedb33ef6c72520dc8ff33775 Mon Sep 17 00:00:00 2001 From: neil molina Date: Wed, 22 Mar 2023 07:23:20 +0800 Subject: [PATCH 1/3] #294 improve search --- src/layouts/partials/package-grid.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/layouts/partials/package-grid.html b/src/layouts/partials/package-grid.html index 3b56645..586c2da 100644 --- a/src/layouts/partials/package-grid.html +++ b/src/layouts/partials/package-grid.html @@ -210,9 +210,10 @@ function getMatchScore(term, dataset) { // provide higher value with name const { name, description } = dataset; + const exactMatch = name.toLocaleLowerCase().includes(term.toLocaleLowerCase()); const nameScore = stringSimilarity.compareTwoStrings(name, term); const descriptionScore = stringSimilarity.compareTwoStrings(description, term); - return (nameScore*80) + (descriptionScore*20) + return (nameScore*80) + (descriptionScore*20) + (exactMatch ? 100 : 0); } const loadMoreButton = document.getElementById('loadMorePackagesBtn'); From d3e1a4066d74c7e525172d3e0d5ae6a1b92c60aa Mon Sep 17 00:00:00 2001 From: neil molina Date: Wed, 22 Mar 2023 07:48:13 +0800 Subject: [PATCH 2/3] #294 include maintainer in search --- src/layouts/partials/package-grid.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/layouts/partials/package-grid.html b/src/layouts/partials/package-grid.html index 586c2da..85c1396 100644 --- a/src/layouts/partials/package-grid.html +++ b/src/layouts/partials/package-grid.html @@ -209,8 +209,8 @@ function getMatchScore(term, dataset) { // provide higher value with name - const { name, description } = dataset; - const exactMatch = name.toLocaleLowerCase().includes(term.toLocaleLowerCase()); + const { name, maintainer, description } = dataset; + const exactMatch = [maintainer, name].join(" ").toLocaleLowerCase().includes(term.toLocaleLowerCase()); const nameScore = stringSimilarity.compareTwoStrings(name, term); const descriptionScore = stringSimilarity.compareTwoStrings(description, term); return (nameScore*80) + (descriptionScore*20) + (exactMatch ? 100 : 0); From 8504d6595fa657c73368b20818acd0dd8406bc91 Mon Sep 17 00:00:00 2001 From: neil molina Date: Wed, 22 Mar 2023 08:55:59 +0800 Subject: [PATCH 3/3] #294 index maintainer data --- src/layouts/partials/package-grid.html | 8 +++++--- src/layouts/partials/package-thumbnail.html | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/layouts/partials/package-grid.html b/src/layouts/partials/package-grid.html index 85c1396..93a7e9d 100644 --- a/src/layouts/partials/package-grid.html +++ b/src/layouts/partials/package-grid.html @@ -121,11 +121,13 @@ if (searchInput.value) { const term = searchInput.value; const packages = getPackageThumbs(); + for(let pkg of packages) { + pkg.match_score = getMatchScore(term, pkg.dataset); + } const sortedPackages = packages.sort((a, b) => { - const aScore = getMatchScore(term, a.dataset); - const bScore = getMatchScore(term, b.dataset); - return bScore - aScore; + return b.match_score - (a ? a.match_score : 0); }); + const grid = document.getElementById('packageGrid'); grid.textContent = ''; let searchCount = 0; diff --git a/src/layouts/partials/package-thumbnail.html b/src/layouts/partials/package-thumbnail.html index 1ba5fe3..7fc5dd6 100644 --- a/src/layouts/partials/package-thumbnail.html +++ b/src/layouts/partials/package-thumbnail.html @@ -1,4 +1,4 @@ -
+