@@ -13,6 +13,7 @@ import (
1313 indexer_internal "code.gitea.io/gitea/modules/indexer/internal"
1414 inner_db "code.gitea.io/gitea/modules/indexer/internal/db"
1515 "code.gitea.io/gitea/modules/indexer/issues/internal"
16+ "code.gitea.io/gitea/modules/util"
1617
1718 "xorm.io/builder"
1819)
@@ -46,7 +47,7 @@ func (i *Indexer) Delete(_ context.Context, _ ...int64) error {
4647
4748func buildMatchQuery (mode indexer.SearchModeType , colName , keyword string ) builder.Cond {
4849 if mode == indexer .SearchModeExact {
49- return db .BuildCaseInsensitiveLike ("issue.name" , keyword )
50+ return db .BuildCaseInsensitiveLike (colName , keyword )
5051 }
5152
5253 // match words
@@ -84,16 +85,16 @@ func (i *Indexer) Search(ctx context.Context, options *internal.SearchOptions) (
8485 repoCond = builder.Eq {"repo_id" : options .RepoIDs [0 ]}
8586 }
8687 subQuery := builder .Select ("id" ).From ("issue" ).Where (repoCond )
87-
88+ searchMode := util . IfZero ( options . SearchMode , i . SupportedSearchModes ()[ 0 ]. ModeValue )
8889 cond = builder .Or (
89- buildMatchQuery (options . SearchMode , "issue.name" , options .Keyword ),
90- buildMatchQuery (options . SearchMode , "issue.content" , options .Keyword ),
90+ buildMatchQuery (searchMode , "issue.name" , options .Keyword ),
91+ buildMatchQuery (searchMode , "issue.content" , options .Keyword ),
9192 builder .In ("issue.id" , builder .Select ("issue_id" ).
9293 From ("comment" ).
9394 Where (builder .And (
9495 builder.Eq {"type" : issue_model .CommentTypeComment },
9596 builder .In ("issue_id" , subQuery ),
96- buildMatchQuery (options . SearchMode , "content" , options .Keyword ),
97+ buildMatchQuery (searchMode , "content" , options .Keyword ),
9798 )),
9899 ),
99100 )
0 commit comments