🎨 在 设置 - 搜索 中分别增加虚拟引用和反链提及 关键字数量限制 https://github.com/siyuan-note/siyuan/issues/6603

This commit is contained in:
Liang Ding 2022-11-16 17:41:45 +08:00
parent 87fde9a1e8
commit deba07c4ad
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
11 changed files with 48 additions and 28 deletions

View file

@ -45,17 +45,17 @@ type Search struct {
Memo bool `json:"memo"`
Custom bool `json:"custom"`
BacklinkMentionName bool `json:"backlinkMentionName"`
BacklinkMentionAlias bool `json:"backlinkMentionAlias"`
BacklinkMentionAnchor bool `json:"backlinkMentionAnchor"`
BacklinkMentionDoc bool `json:"backlinkMentionDoc"`
BacklinkMentionLimit int `json:"backlinkMentionLimit"`
BacklinkMentionName bool `json:"backlinkMentionName"`
BacklinkMentionAlias bool `json:"backlinkMentionAlias"`
BacklinkMentionAnchor bool `json:"backlinkMentionAnchor"`
BacklinkMentionDoc bool `json:"backlinkMentionDoc"`
BacklinkMentionKeywordsLimit int `json:"backlinkMentionKeywordsLimit"`
VirtualRefName bool `json:"virtualRefName"`
VirtualRefAlias bool `json:"virtualRefAlias"`
VirtualRefAnchor bool `json:"virtualRefAnchor"`
VirtualRefDoc bool `json:"virtualRefDoc"`
VirtualRefLimit int `json:"virtualRefLimit"`
VirtualRefName bool `json:"virtualRefName"`
VirtualRefAlias bool `json:"virtualRefAlias"`
VirtualRefAnchor bool `json:"virtualRefAnchor"`
VirtualRefDoc bool `json:"virtualRefDoc"`
VirtualRefKeywordsLimit int `json:"virtualRefKeywordsLimit"`
}
func NewSearch() *Search {
@ -80,17 +80,17 @@ func NewSearch() *Search {
Memo: true,
Custom: false,
BacklinkMentionName: true,
BacklinkMentionAlias: false,
BacklinkMentionAnchor: true,
BacklinkMentionDoc: true,
BacklinkMentionLimit: 512,
BacklinkMentionName: true,
BacklinkMentionAlias: false,
BacklinkMentionAnchor: true,
BacklinkMentionDoc: true,
BacklinkMentionKeywordsLimit: 512,
VirtualRefName: true,
VirtualRefAlias: false,
VirtualRefAnchor: true,
VirtualRefDoc: true,
VirtualRefLimit: 512,
VirtualRefName: true,
VirtualRefAlias: false,
VirtualRefAnchor: true,
VirtualRefDoc: true,
VirtualRefKeywordsLimit: 512,
}
}

View file

@ -737,7 +737,7 @@ func searchBackmention(mentionKeywords []string, keyword string, excludeBacklink
buf := bytes.Buffer{}
buf.WriteString("SELECT * FROM " + table + " WHERE " + table + " MATCH '{content}:(")
for i, mentionKeyword := range mentionKeywords {
if Conf.Search.BacklinkMentionLimit < i {
if Conf.Search.BacklinkMentionKeywordsLimit < i {
util.PushMsg(fmt.Sprintf(Conf.Language(38), len(mentionKeywords)), 5000)
mentionKeyword = strings.ReplaceAll(mentionKeyword, "\"", "\"\"")
buf.WriteString("\"" + mentionKeyword + "\"")

View file

@ -278,11 +278,11 @@ func InitConf() {
if 1 > Conf.Search.Limit {
Conf.Search.Limit = 64
}
if 1 > Conf.Search.BacklinkMentionLimit {
Conf.Search.BacklinkMentionLimit = 512
if 1 > Conf.Search.BacklinkMentionKeywordsLimit {
Conf.Search.BacklinkMentionKeywordsLimit = 512
}
if 1 > Conf.Search.VirtualRefLimit {
Conf.Search.VirtualRefLimit = 512
if 1 > Conf.Search.VirtualRefKeywordsLimit {
Conf.Search.VirtualRefKeywordsLimit = 512
}
if nil == Conf.Stat {

View file

@ -110,8 +110,8 @@ func getVirtualRefKeywords(docName string) (ret []string) {
ret = gulu.Str.ExcludeElem(ret, []string{docName})
ret = prepareMarkKeywords(ret)
if Conf.Search.VirtualRefLimit < len(ret) {
ret = ret[:Conf.Search.VirtualRefLimit]
if Conf.Search.VirtualRefKeywordsLimit < len(ret) {
ret = ret[:Conf.Search.VirtualRefKeywordsLimit]
}
return
}