mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-08 18:04:14 +01:00
Change repo search to use exact match for topic search. (#7941)
Signed-off-by: David Svantesson <davidsvantesson@gmail.com>
This commit is contained in:
parent
4ea9a377db
commit
ca6fb004ac
1 changed files with 5 additions and 1 deletions
|
@ -248,8 +248,12 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (RepositoryList, int64, err
|
||||||
// separate keyword
|
// separate keyword
|
||||||
var subQueryCond = builder.NewCond()
|
var subQueryCond = builder.NewCond()
|
||||||
for _, v := range strings.Split(opts.Keyword, ",") {
|
for _, v := range strings.Split(opts.Keyword, ",") {
|
||||||
|
if opts.TopicOnly {
|
||||||
|
subQueryCond = subQueryCond.Or(builder.Eq{"topic.name": strings.ToLower(v)})
|
||||||
|
} else {
|
||||||
subQueryCond = subQueryCond.Or(builder.Like{"topic.name", strings.ToLower(v)})
|
subQueryCond = subQueryCond.Or(builder.Like{"topic.name", strings.ToLower(v)})
|
||||||
}
|
}
|
||||||
|
}
|
||||||
subQuery := builder.Select("repo_topic.repo_id").From("repo_topic").
|
subQuery := builder.Select("repo_topic.repo_id").From("repo_topic").
|
||||||
Join("INNER", "topic", "topic.id = repo_topic.topic_id").
|
Join("INNER", "topic", "topic.id = repo_topic.topic_id").
|
||||||
Where(subQueryCond).
|
Where(subQueryCond).
|
||||||
|
|
Loading…
Reference in a new issue