mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-19 16:10:12 +01:00
🎨 Improve search https://github.com/siyuan-note/siyuan/issues/13826
This commit is contained in:
parent
8e90578a21
commit
58d76ca4f2
1 changed files with 42 additions and 2 deletions
|
|
@ -1532,7 +1532,27 @@ func highlightByFTS(query, typeFilter, id string) (ret []string) {
|
||||||
stmt += " LIMIT " + strconv.Itoa(limit)
|
stmt += " LIMIT " + strconv.Itoa(limit)
|
||||||
sqlBlocks := sql.SelectBlocksRawStmt(stmt, 1, limit)
|
sqlBlocks := sql.SelectBlocksRawStmt(stmt, 1, limit)
|
||||||
for _, block := range sqlBlocks {
|
for _, block := range sqlBlocks {
|
||||||
keyword := gulu.Str.SubstringsBetween(block.Content, search.SearchMarkLeft, search.SearchMarkRight)
|
keyword := gulu.Str.SubstringsBetween(block.HPath, search.SearchMarkLeft, search.SearchMarkRight)
|
||||||
|
if 0 < len(keyword) {
|
||||||
|
ret = append(ret, keyword...)
|
||||||
|
}
|
||||||
|
keyword = gulu.Str.SubstringsBetween(block.Name, search.SearchMarkLeft, search.SearchMarkRight)
|
||||||
|
if 0 < len(keyword) {
|
||||||
|
ret = append(ret, keyword...)
|
||||||
|
}
|
||||||
|
keyword = gulu.Str.SubstringsBetween(block.Alias, search.SearchMarkLeft, search.SearchMarkRight)
|
||||||
|
if 0 < len(keyword) {
|
||||||
|
ret = append(ret, keyword...)
|
||||||
|
}
|
||||||
|
keyword = gulu.Str.SubstringsBetween(block.Memo, search.SearchMarkLeft, search.SearchMarkRight)
|
||||||
|
if 0 < len(keyword) {
|
||||||
|
ret = append(ret, keyword...)
|
||||||
|
}
|
||||||
|
keyword = gulu.Str.SubstringsBetween(block.Tag, search.SearchMarkLeft, search.SearchMarkRight)
|
||||||
|
if 0 < len(keyword) {
|
||||||
|
ret = append(ret, keyword...)
|
||||||
|
}
|
||||||
|
keyword = gulu.Str.SubstringsBetween(block.Content, search.SearchMarkLeft, search.SearchMarkRight)
|
||||||
if 0 < len(keyword) {
|
if 0 < len(keyword) {
|
||||||
ret = append(ret, keyword...)
|
ret = append(ret, keyword...)
|
||||||
}
|
}
|
||||||
|
|
@ -1551,7 +1571,27 @@ func highlightByRegexp(query, typeFilter, id string) (ret []string) {
|
||||||
}
|
}
|
||||||
sqlBlocks := sql.SelectBlocksRegex(stmt, regex, Conf.Search.Name, Conf.Search.Alias, Conf.Search.Memo, Conf.Search.IAL, 1, 256)
|
sqlBlocks := sql.SelectBlocksRegex(stmt, regex, Conf.Search.Name, Conf.Search.Alias, Conf.Search.Memo, Conf.Search.IAL, 1, 256)
|
||||||
for _, block := range sqlBlocks {
|
for _, block := range sqlBlocks {
|
||||||
keyword := gulu.Str.SubstringsBetween(block.Content, search.SearchMarkLeft, search.SearchMarkRight)
|
keyword := gulu.Str.SubstringsBetween(block.HPath, search.SearchMarkLeft, search.SearchMarkRight)
|
||||||
|
if 0 < len(keyword) {
|
||||||
|
ret = append(ret, keyword...)
|
||||||
|
}
|
||||||
|
keyword = gulu.Str.SubstringsBetween(block.Name, search.SearchMarkLeft, search.SearchMarkRight)
|
||||||
|
if 0 < len(keyword) {
|
||||||
|
ret = append(ret, keyword...)
|
||||||
|
}
|
||||||
|
keyword = gulu.Str.SubstringsBetween(block.Alias, search.SearchMarkLeft, search.SearchMarkRight)
|
||||||
|
if 0 < len(keyword) {
|
||||||
|
ret = append(ret, keyword...)
|
||||||
|
}
|
||||||
|
keyword = gulu.Str.SubstringsBetween(block.Memo, search.SearchMarkLeft, search.SearchMarkRight)
|
||||||
|
if 0 < len(keyword) {
|
||||||
|
ret = append(ret, keyword...)
|
||||||
|
}
|
||||||
|
keyword = gulu.Str.SubstringsBetween(block.Tag, search.SearchMarkLeft, search.SearchMarkRight)
|
||||||
|
if 0 < len(keyword) {
|
||||||
|
ret = append(ret, keyword...)
|
||||||
|
}
|
||||||
|
keyword = gulu.Str.SubstringsBetween(block.Content, search.SearchMarkLeft, search.SearchMarkRight)
|
||||||
if 0 < len(keyword) {
|
if 0 < len(keyword) {
|
||||||
ret = append(ret, keyword...)
|
ret = append(ret, keyword...)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue