aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Magorsch <arzano@gentoo.org>2020-04-28 22:16:17 +0200
committerMax Magorsch <arzano@gentoo.org>2020-04-28 22:16:17 +0200
commitbcab6784a816fb3c2f327ccfaa89c25c5c7d1ec7 (patch)
treeb298010cf2a8be69c6d18eb2fd700e960a1f8a00
parentDon't use the advanced search for suggestions (diff)
downloadsoko-bcab6784a816fb3c2f327ccfaa89c25c5c7d1ec7.tar.gz
soko-bcab6784a816fb3c2f327ccfaa89c25c5c7d1ec7.tar.bz2
soko-bcab6784a816fb3c2f327ccfaa89c25c5c7d1ec7.zip
Improve the search further
Signed-off-by: Max Magorsch <arzano@gentoo.org>
-rw-r--r--pkg/app/handler/packages/search.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/pkg/app/handler/packages/search.go b/pkg/app/handler/packages/search.go
index f737682..30ab4d6 100644
--- a/pkg/app/handler/packages/search.go
+++ b/pkg/app/handler/packages/search.go
@@ -39,8 +39,9 @@ func Search(w http.ResponseWriter, r *http.Request) {
func buildSearchQuery(searchString string) string {
var searchClauses []string
for _, searchTerm := range strings.Split(searchString, " "){
+ searchTerm = strings.ReplaceAll(searchTerm, "*", "%")
searchClauses = append(searchClauses,
- "(ARRAY[atom, category, name] && ARRAY['" + searchTerm +"'] OR (maintainers @> '[{\"Name\": \"" + searchTerm + "\"}]' OR maintainers @> '[{\"Email\": \"" + searchTerm + "\"}]'))")
+ "( (category LIKE '" + searchTerm + "') OR (name LIKE '" + searchTerm + "') OR (atom LIKE '" + searchTerm + "') OR (maintainers @> '[{\"Name\": \"" + searchTerm + "\"}]' OR maintainers @> '[{\"Email\": \"" + searchTerm + "\"}]'))")
}
return strings.Join(searchClauses, " AND ")
}