🎨 Improve search index ignore for virtual refs https://github.com/siyuan-note/siyuan/issues/11827

This commit is contained in:
Daniel 2024-06-28 22:13:23 +08:00
parent 7b1dcd269c
commit 1011cd4900
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
4 changed files with 54 additions and 25 deletions

View file

@ -180,9 +180,16 @@ func QueryBlockAliases(rootID string) (ret []string) {
return
}
func queryNames() (ret []string) {
func queryNames(searchIgnoreLines []string) (ret []string) {
ret = []string{}
sqlStmt := "SELECT name FROM blocks WHERE name != '' LIMIT ?"
sqlStmt := "SELECT name FROM blocks WHERE name != ''"
buf := bytes.Buffer{}
for _, line := range searchIgnoreLines {
buf.WriteString(" AND ")
buf.WriteString(line)
}
sqlStmt += buf.String()
sqlStmt += " LIMIT ?"
rows, err := query(sqlStmt, 10240)
if nil != err {
logging.LogErrorf("sql query [%s] failed: %s", sqlStmt, err)
@ -213,9 +220,16 @@ func queryNames() (ret []string) {
return
}
func queryAliases() (ret []string) {
func queryAliases(searchIgnoreLines []string) (ret []string) {
ret = []string{}
sqlStmt := "SELECT alias FROM blocks WHERE alias != '' LIMIT ?"
sqlStmt := "SELECT alias FROM blocks WHERE alias != ''"
buf := bytes.Buffer{}
for _, line := range searchIgnoreLines {
buf.WriteString(" AND ")
buf.WriteString(line)
}
sqlStmt += buf.String()
sqlStmt += " LIMIT ?"
rows, err := query(sqlStmt, 10240)
if nil != err {
logging.LogErrorf("sql query [%s] failed: %s", sqlStmt, err)
@ -274,9 +288,15 @@ func queryDocIDsByTitle(title string, excludeIDs []string) (ret []string) {
return
}
func queryDocTitles() (ret []string) {
func queryDocTitles(searchIgnoreLines []string) (ret []string) {
ret = []string{}
sqlStmt := "SELECT content FROM blocks WHERE type = 'd'"
buf := bytes.Buffer{}
for _, line := range searchIgnoreLines {
buf.WriteString(" AND ")
buf.WriteString(line)
}
sqlStmt += buf.String()
rows, err := query(sqlStmt)
if nil != err {
logging.LogErrorf("sql query [%s] failed: %s", sqlStmt, err)