From ca6fb004ac50fc924861112403895d637c6a2d1d Mon Sep 17 00:00:00 2001
From: David Svantesson <davidsvantesson@gmail.com>
Date: Fri, 23 Aug 2019 04:37:35 +0200
Subject: Change repo search to use exact match for topic search. (#7941)

Signed-off-by: David Svantesson <davidsvantesson@gmail.com>
---
 models/repo_list.go | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

(limited to 'models/repo_list.go')

diff --git a/models/repo_list.go b/models/repo_list.go
index 7460c4b0ed..ee4266d4e6 100644
--- a/models/repo_list.go
+++ b/models/repo_list.go
@@ -248,7 +248,11 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (RepositoryList, int64, err
 		// separate keyword
 		var subQueryCond = builder.NewCond()
 		for _, v := range strings.Split(opts.Keyword, ",") {
-			subQueryCond = subQueryCond.Or(builder.Like{"topic.name", strings.ToLower(v)})
+			if opts.TopicOnly {
+				subQueryCond = subQueryCond.Or(builder.Eq{"topic.name": strings.ToLower(v)})
+			} else {
+				subQueryCond = subQueryCond.Or(builder.Like{"topic.name", strings.ToLower(v)})
+			}
 		}
 		subQuery := builder.Select("repo_topic.repo_id").From("repo_topic").
 			Join("INNER", "topic", "topic.id = repo_topic.topic_id").
-- 
cgit v1.2.3