From 2aabcb74dbe7ab7f24a157ab74f3beea607ddbbd Mon Sep 17 00:00:00 2001 From: Istvan Soos Date: Thu, 14 Nov 2024 17:47:58 +0100 Subject: [PATCH] Earlier cutoff in package name index. --- app/lib/search/mem_index.dart | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/app/lib/search/mem_index.dart b/app/lib/search/mem_index.dart index 06f59ff39d..b8d312634e 100644 --- a/app/lib/search/mem_index.dart +++ b/app/lib/search/mem_index.dart @@ -520,14 +520,23 @@ class PackageNameIndex { continue; } var matched = 0; + var unmatched = 0; + final acceptThreshold = parts.length ~/ 2; + final rejectThreshold = parts.length - acceptThreshold; for (final part in parts) { if (entry.trigrams.contains(part)) { matched++; + } else { + unmatched++; + if (unmatched > rejectThreshold) { + // we have no chance to accept this hit + break; + } } } - // making sure that match score is minimum 0.5 - if (matched > 0) { + if (matched >= acceptThreshold) { + // making sure that match score is minimum 0.5 final v = matched / parts.length; if (v >= 0.5) { score.setValue(i, v);