Improve search

This commit is contained in:
2025-09-08 21:59:55 +08:00
parent 2848e4c5e1
commit 24ba97817a
3 changed files with 21 additions and 6 deletions

View File

@@ -7,7 +7,6 @@ import (
"nysoure/server/model"
"nysoure/server/utils"
"strconv"
"strings"
"time"
"github.com/blevesearch/bleve"
@@ -81,8 +80,6 @@ func init() {
}
func SearchResource(keyword string) ([]uint, error) {
keyword = strings.Replace(keyword, "-", " ", -1)
query := bleve.NewMatchQuery(keyword)
searchRequest := bleve.NewSearchRequest(query)
searchRequest.Size = 1000

View File

@@ -1,8 +1,6 @@
package service
import (
"github.com/gofiber/fiber/v3"
"github.com/gofiber/fiber/v3/log"
"net/url"
"nysoure/server/config"
"nysoure/server/dao"
@@ -12,6 +10,9 @@ import (
"strconv"
"strings"
"github.com/gofiber/fiber/v3"
"github.com/gofiber/fiber/v3/log"
"gorm.io/gorm"
)
@@ -295,6 +296,10 @@ func SearchResource(query string, page int) ([]model.ResourceView, int, error) {
if keyword == "" {
continue
}
if utils.OnlyPunctuation(keyword) {
continue
}
res, err := searchWithKeyword(keyword)
if err != nil {
return nil, 0, err

View File

@@ -1,8 +1,21 @@
package utils
import "regexp"
import (
"regexp"
"unicode"
)
func RemoveSpaces(s string) string {
reg := regexp.MustCompile(`\s+`)
return reg.ReplaceAllString(s, " ")
}
func OnlyPunctuation(s string) bool {
for _, r := range s {
if unicode.IsPunct(r) || unicode.IsSpace(r) {
continue
}
return false
}
return true
}