This commit is contained in:
Daniel 2024-12-11 17:58:07 +08:00
parent b0b88d3664
commit 7e3ce7b6d9
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 2 additions and 1 deletions

View file

@ -798,7 +798,6 @@ func GetDoc(startID, endID, id string, index int, query string, queryTypes map[s
typeFilter := buildTypeFilter(queryTypes)
switch queryMethod {
case 0:
query = strings.ReplaceAll(query, "'", "''") // 不需要转义双引号,因为条件都是通过单引号包裹的,只需要转义单引号即可
keywords = strings.Split(query, " ")
case 1:
keywords = highlightByFTS(query, typeFilter, rootID)

View file

@ -1506,6 +1506,7 @@ func fullTextSearchByLikeWithRoot(query, boxFilter, pathFilter, typeFilter, igno
keywords = gulu.Str.RemoveDuplicatedElem(keywords)
terms := strings.Join(keywords, search.TermSep)
terms = strings.ReplaceAll(terms, "''", "'")
ret = fromSQLBlocks(&resultBlocks, terms, beforeLen)
if 1 > len(ret) {
ret = []*Block{}
@ -1514,6 +1515,7 @@ func fullTextSearchByLikeWithRoot(query, boxFilter, pathFilter, typeFilter, igno
}
func highlightByFTS(query, typeFilter, id string) (ret []string) {
query = stringQuery(query)
const limit = 256
table := "blocks_fts"
if !Conf.Search.CaseSensitive {