forked from 50n50/sources
Update tidal/tidal.js
This commit is contained in:
+29
-1
@@ -1,3 +1,22 @@
|
|||||||
|
function calculateSimilarity(title, keyword) {
|
||||||
|
const titleLower = title.toLowerCase();
|
||||||
|
const keywordLower = keyword.toLowerCase();
|
||||||
|
|
||||||
|
if (titleLower === keywordLower) return 1000;
|
||||||
|
|
||||||
|
if (titleLower.startsWith(keywordLower)) return 800;
|
||||||
|
|
||||||
|
if (titleLower.includes(keywordLower)) return 600;
|
||||||
|
|
||||||
|
let matches = 0;
|
||||||
|
for (let i = 0; i < Math.min(titleLower.length, keywordLower.length); i++) {
|
||||||
|
if (titleLower[i] === keywordLower[i]) matches++;
|
||||||
|
else break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return matches;
|
||||||
|
}
|
||||||
|
|
||||||
async function searchResults(keyword) {
|
async function searchResults(keyword) {
|
||||||
const results = [];
|
const results = [];
|
||||||
try {
|
try {
|
||||||
@@ -21,11 +40,20 @@ async function searchResults(keyword) {
|
|||||||
results.push({
|
results.push({
|
||||||
title: title,
|
title: title,
|
||||||
image: imageUrl,
|
image: imageUrl,
|
||||||
href: href
|
href: href,
|
||||||
|
baseTitle: item.title || "Unknown Title",
|
||||||
|
similarity: calculateSimilarity(item.title || "Unknown Title", keyword)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
results.sort((a, b) => b.similarity - a.similarity);
|
||||||
|
|
||||||
|
results.forEach(r => {
|
||||||
|
delete r.baseTitle;
|
||||||
|
delete r.similarity;
|
||||||
|
});
|
||||||
|
|
||||||
return JSON.stringify(results);
|
return JSON.stringify(results);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error("Search error:", err);
|
console.error("Search error:", err);
|
||||||
|
|||||||
Reference in New Issue
Block a user