mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-03 17:50:37 +08:00
🎨 改进打开虚拟引用后加载文档的性能 https://github.com/siyuan-note/siyuan/issues/7378
This commit is contained in:
parent
7d05f4e8c7
commit
e89f706864
@ -221,7 +221,6 @@ func setSearch(c *gin.Context) {
|
|||||||
if s.CaseSensitive != oldCaseSensitive {
|
if s.CaseSensitive != oldCaseSensitive {
|
||||||
model.FullReindex()
|
model.FullReindex()
|
||||||
}
|
}
|
||||||
sql.ClearVirtualRefKeywords()
|
|
||||||
ret.Data = s
|
ret.Data = s
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,7 +167,7 @@ func buildBacklink(refID string, refTree *parse.Tree, keywords []string, luteEng
|
|||||||
return ast.WalkContinue
|
return ast.WalkContinue
|
||||||
}
|
}
|
||||||
|
|
||||||
markReplaceSpan(n, &unlinks, keywords, searchMarkDataType, luteEngine)
|
markReplaceSpan(n, &unlinks, keywords, search.MarkDataType, luteEngine)
|
||||||
return ast.WalkContinue
|
return ast.WalkContinue
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -690,7 +690,7 @@ func searchBackmention(mentionKeywords []string, keyword string, excludeBacklink
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
newText := markReplaceSpanWithSplit(text, mentionKeywords, getMarkSpanStart(searchMarkDataType), getMarkSpanEnd())
|
newText := markReplaceSpanWithSplit(text, mentionKeywords, search.GetMarkSpanStart(search.MarkDataType), search.GetMarkSpanEnd())
|
||||||
if text != newText {
|
if text != newText {
|
||||||
tmp = append(tmp, b)
|
tmp = append(tmp, b)
|
||||||
}
|
}
|
||||||
|
@ -180,7 +180,7 @@ func GetDocHistoryContent(historyPath, keyword string) (id, rootID, content stri
|
|||||||
n.RemoveIALAttr("fold")
|
n.RemoveIALAttr("fold")
|
||||||
|
|
||||||
if 0 < len(keywords) {
|
if 0 < len(keywords) {
|
||||||
if markReplaceSpan(n, &unlinks, keywords, searchMarkDataType, luteEngine) {
|
if markReplaceSpan(n, &unlinks, keywords, search.MarkDataType, luteEngine) {
|
||||||
return ast.WalkContinue
|
return ast.WalkContinue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,11 +29,6 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func QueryVirtualRefKeywords(name, alias, anchor, doc bool) (ret []string) {
|
func QueryVirtualRefKeywords(name, alias, anchor, doc bool) (ret []string) {
|
||||||
ret, ok := getVirtualRefKeywordsCache()
|
|
||||||
if ok {
|
|
||||||
return ret
|
|
||||||
}
|
|
||||||
|
|
||||||
if name {
|
if name {
|
||||||
ret = append(ret, queryNames()...)
|
ret = append(ret, queryNames()...)
|
||||||
}
|
}
|
||||||
@ -50,7 +45,6 @@ func QueryVirtualRefKeywords(name, alias, anchor, doc bool) (ret []string) {
|
|||||||
sort.SliceStable(ret, func(i, j int) bool {
|
sort.SliceStable(ret, func(i, j int) bool {
|
||||||
return len(ret[i]) >= len(ret[j])
|
return len(ret[i]) >= len(ret[j])
|
||||||
})
|
})
|
||||||
setVirtualRefKeywords(ret)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ func InitDatabase(forceRebuild bool) (err error) {
|
|||||||
initDatabaseLock.Lock()
|
initDatabaseLock.Lock()
|
||||||
defer initDatabaseLock.Unlock()
|
defer initDatabaseLock.Unlock()
|
||||||
|
|
||||||
ClearBlockCache()
|
ClearCache()
|
||||||
disableCache()
|
disableCache()
|
||||||
defer enableCache()
|
defer enableCache()
|
||||||
|
|
||||||
@ -888,7 +888,7 @@ func deleteBlocksByBoxTx(tx *sql.Tx, box string) (err error) {
|
|||||||
if err = execStmtTx(tx, stmt, box); nil != err {
|
if err = execStmtTx(tx, stmt, box); nil != err {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ClearBlockCache()
|
ClearCache()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1012,7 +1012,7 @@ func deleteByRootID(tx *sql.Tx, rootID string, context map[string]interface{}) (
|
|||||||
if err = execStmtTx(tx, stmt, rootID); nil != err {
|
if err = execStmtTx(tx, stmt, rootID); nil != err {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ClearBlockCache()
|
ClearCache()
|
||||||
eventbus.Publish(eventbus.EvtSQLDeleteBlocks, context, rootID)
|
eventbus.Publish(eventbus.EvtSQLDeleteBlocks, context, rootID)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -1048,7 +1048,7 @@ func batchDeleteByRootIDs(tx *sql.Tx, rootIDs []string, context map[string]inter
|
|||||||
if err = execStmtTx(tx, stmt); nil != err {
|
if err = execStmtTx(tx, stmt); nil != err {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ClearBlockCache()
|
ClearCache()
|
||||||
eventbus.Publish(eventbus.EvtSQLDeleteBlocks, context, fmt.Sprintf("%d", len(rootIDs)))
|
eventbus.Publish(eventbus.EvtSQLDeleteBlocks, context, fmt.Sprintf("%d", len(rootIDs)))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -1082,7 +1082,7 @@ func batchDeleteByPathPrefix(tx *sql.Tx, boxID, pathPrefix string) (err error) {
|
|||||||
if err = execStmtTx(tx, stmt, boxID, pathPrefix+"%"); nil != err {
|
if err = execStmtTx(tx, stmt, boxID, pathPrefix+"%"); nil != err {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ClearBlockCache()
|
ClearCache()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1099,7 +1099,7 @@ func batchUpdateHPath(tx *sql.Tx, boxID, rootID, oldHPath, newHPath string) (err
|
|||||||
if err = execStmtTx(tx, stmt, newHPath, boxID, rootID, oldHPath); nil != err {
|
if err = execStmtTx(tx, stmt, newHPath, boxID, rootID, oldHPath); nil != err {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ClearBlockCache()
|
ClearCache()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user