From c10503afeccd5172ace7613094dd5fe1e0770c55 Mon Sep 17 00:00:00 2001 From: Jui-Nan Lin Date: Wed, 27 Jan 2021 18:00:35 +0800 Subject: [Feature] add precise search type for Elastic Search (#12869) * feat: add type query parameters for specifying precise search * feat: add select dropdown in search box Co-authored-by: Lauris BH Co-authored-by: techknowlogick --- routers/home.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'routers/home.go') diff --git a/routers/home.go b/routers/home.go index d37bf8e31b..f82ee9808b 100644 --- a/routers/home.go +++ b/routers/home.go @@ -299,6 +299,9 @@ func ExploreCode(ctx *context.Context) { page = 1 } + queryType := strings.TrimSpace(ctx.Query("t")) + isMatch := queryType == "match" + var ( repoIDs []int64 err error @@ -342,14 +345,14 @@ func ExploreCode(ctx *context.Context) { ctx.Data["RepoMaps"] = rightRepoMap - total, searchResults, searchResultLanguages, err = code_indexer.PerformSearch(repoIDs, language, keyword, page, setting.UI.RepoSearchPagingNum) + total, searchResults, searchResultLanguages, err = code_indexer.PerformSearch(repoIDs, language, keyword, page, setting.UI.RepoSearchPagingNum, isMatch) if err != nil { ctx.ServerError("SearchResults", err) return } // if non-login user or isAdmin, no need to check UnitTypeCode } else if (ctx.User == nil && len(repoIDs) > 0) || isAdmin { - total, searchResults, searchResultLanguages, err = code_indexer.PerformSearch(repoIDs, language, keyword, page, setting.UI.RepoSearchPagingNum) + total, searchResults, searchResultLanguages, err = code_indexer.PerformSearch(repoIDs, language, keyword, page, setting.UI.RepoSearchPagingNum, isMatch) if err != nil { ctx.ServerError("SearchResults", err) return @@ -380,6 +383,7 @@ func ExploreCode(ctx *context.Context) { ctx.Data["Keyword"] = keyword ctx.Data["Language"] = language + ctx.Data["queryType"] = queryType ctx.Data["SearchResults"] = searchResults ctx.Data["SearchResultLanguages"] = searchResultLanguages ctx.Data["RequireHighlightJS"] = true -- cgit v1.2.3