From d4465c12acece52880367bc4f6e861d35953b0f1 Mon Sep 17 00:00:00 2001 From: David Hewitt Date: Fri, 2 Oct 2020 07:34:38 +0100 Subject: [PATCH] Optimise search rank algorithm (#1421) --- src/Views/AppListView.vala | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Views/AppListView.vala b/src/Views/AppListView.vala index 551a3de92..ca0a52acc 100644 --- a/src/Views/AppListView.vala +++ b/src/Views/AppListView.vala @@ -108,12 +108,19 @@ namespace AppCenter.Views { if (name != null && current_search_term != null) { var name_lower = name.down (); var term_lower = current_search_term.down (); - if (name_lower.has_prefix (term_lower)) { + + var term_position = name_lower.index_of (term_lower); + + // App name starts with our search term, highest priority + if (term_position == 0) { return 2; - } else if (name_lower.contains (term_lower)) { + // App name contains our search term, high priority + } else if (term_position != -1) { return 1; } } + + // Otherwise, normal appstream search ranking order return 0; }