diff --git a/kernel/model/bazzar.go b/kernel/model/bazzar.go index c7229a055..a839c3c1a 100644 --- a/kernel/model/bazzar.go +++ b/kernel/model/bazzar.go @@ -501,7 +501,7 @@ func matchPackage(keywords []string, pkg *bazaar.Package) bool { return false } - hitCount := 0 + hits := map[string]bool{} for _, keyword := range keywords { if strings.Contains(strings.ToLower(pkg.DisplayName.Default), keyword) || strings.Contains(strings.ToLower(pkg.DisplayName.ZhCN), keyword) || @@ -513,16 +513,18 @@ func matchPackage(keywords []string, pkg *bazaar.Package) bool { strings.Contains(strings.ToLower(pkg.Description.EnUS), keyword) || strings.Contains(strings.ToLower(path.Base(pkg.RepoURL)), keyword) || strings.Contains(strings.ToLower(pkg.Author), keyword) { - hitCount++ + hits[keyword] = true + continue } for _, pkgKeyword := range pkg.Keywords { if strings.Contains(strings.ToLower(pkgKeyword), keyword) { - hitCount++ + hits[keyword] = true + break } } } - return hitCount == len(keywords) + return len(hits) == len(keywords) } func getSearchKeywords(query string) (ret []string) {