From d2344aa14bc80b93b8f14ebc211c1884d98b104c Mon Sep 17 00:00:00 2001 From: Nicolas Date: Mon, 21 Oct 2024 16:11:32 -0300 Subject: [PATCH] Revert "Nick: improved map ranking algorithm" This reverts commit 7acd8d2edb6abc45a63fe1060377d2acb398ec36. --- apps/api/src/controllers/v1/map.ts | 13 +------------ apps/api/src/controllers/v1/types.ts | 8 -------- apps/api/src/lib/map-cosine.ts | 15 +++++++-------- 3 files changed, 8 insertions(+), 28 deletions(-) diff --git a/apps/api/src/controllers/v1/map.ts b/apps/api/src/controllers/v1/map.ts index 112c06b4..5ed3dd51 100644 --- a/apps/api/src/controllers/v1/map.ts +++ b/apps/api/src/controllers/v1/map.ts @@ -2,7 +2,6 @@ import { Response } from "express"; import { v4 as uuidv4 } from "uuid"; import { legacyCrawlerOptions, - LinkInfo, mapRequestSchema, RequestWithAuth, } from "./types"; @@ -110,10 +109,6 @@ export async function mapController( mapResults = mapResults.slice(0, minumumCutoff); } - - - let linkInfos: LinkInfo[] = []; - if (mapResults.length > 0) { if (req.body.search) { // Ensure all map results are first, maintaining their order @@ -122,12 +117,6 @@ export async function mapController( ...mapResults.slice(1).map((x) => x.url), ...links, ]; - - linkInfos = [ - mapResults[0], - ...mapResults.slice(1), - ...links.map((x) => ({ url: x })), - ] } else { mapResults.map((x) => { links.push(x.url); @@ -139,7 +128,7 @@ export async function mapController( if (req.body.search) { const searchQuery = req.body.search.toLowerCase(); - links = performCosineSimilarity(linkInfos, searchQuery); + links = performCosineSimilarity(links, searchQuery); } links = links diff --git a/apps/api/src/controllers/v1/types.ts b/apps/api/src/controllers/v1/types.ts index 91618e1a..033de6e0 100644 --- a/apps/api/src/controllers/v1/types.ts +++ b/apps/api/src/controllers/v1/types.ts @@ -478,11 +478,3 @@ export function legacyDocumentConverter(doc: any): Document { }, }; } - - - -export interface LinkInfo { - url: string; - title?: string; - description?: string; -} \ No newline at end of file diff --git a/apps/api/src/lib/map-cosine.ts b/apps/api/src/lib/map-cosine.ts index 8804aa58..db2491a9 100644 --- a/apps/api/src/lib/map-cosine.ts +++ b/apps/api/src/lib/map-cosine.ts @@ -1,7 +1,6 @@ import { Logger } from "./logger"; -import { LinkInfo } from "../controllers/v1/types"; -export function performCosineSimilarity(links: LinkInfo[], searchQuery: string) { +export function performCosineSimilarity(links: string[], searchQuery: string) { try { // Function to calculate cosine similarity const cosineSimilarity = (vec1: number[], vec2: number[]): number => { @@ -28,20 +27,20 @@ export function performCosineSimilarity(links: LinkInfo[], searchQuery: string) // Calculate similarity scores const similarityScores = links.map((link) => { - const linkText = `${link.url} ${link.title || ''} ${link.description || ''}`.trim(); - const linkVector = textToVector(linkText); + const linkVector = textToVector(link); const searchVector = textToVector(searchQuery); return cosineSimilarity(linkVector, searchVector); }); - // Sort links based on similarity scores - const sortedLinks = links + // Sort links based on similarity scores and print scores + const a = links .map((link, index) => ({ link, score: similarityScores[index] })) .sort((a, b) => b.score - a.score); - return sortedLinks.map((item) => item.link.url); + links = a.map((item) => item.link); + return links; } catch (error) { Logger.error(`Error performing cosine similarity: ${error}`); - return links.map(link => link.url); + return links; } }