Improve SearchScore

This commit is contained in:
2023-08-28 16:41:36 +02:00
parent 6dda9e09cf
commit 8899e8bd32

View File

@ -191,16 +191,21 @@ namespace Elwig.Helpers {
.Select(w => { .Select(w => {
w = w?.ToLower(); w = w?.ToLower();
var p = w?.ToLower()?.Split(" "); var p = w?.ToLower()?.Split(" ");
if (w == null || p == null) { if (w == null || p == null)
return 0; return 0;
} else if (searchKeywords.Any(f => w == f)) {
return 100; var t1 = searchKeywords.Where(f => w == f).Select(f => f.Length).OrderDescending().FirstOrDefault(0);
} else if (searchKeywords.Any(f => p.Any(a => a == f))) { var t2 = searchKeywords.Where(f => p.Any(a => a == f)).Select(f => f.Length).OrderDescending().FirstOrDefault(0);
return 90; var t3 = searchKeywords.Where(f => p.Any(a => a.StartsWith(f))).Select(f => f.Length).OrderDescending().FirstOrDefault(0);
} else if (searchKeywords.Any(f => p.Any(a => a.StartsWith(f)))) { var t4 = searchKeywords.Where(f => w.Contains(f)).Select(f => f.Length).OrderDescending().FirstOrDefault(0);
return 50; if (t1 > 0) {
} else if (searchKeywords.Any(f => f != null && w.Contains(f))) { return 4 + t1;
return 1; } else if (t2 > 0) {
return 3 + t2;
} else if (t3 > 0) {
return 2 + t3;
} else if (t4 > 0) {
return 1 + t4;
} else { } else {
return 0; return 0;
} }