Pārlūkot izejas kodu

:art: 嵌入块支持搜索 https://github.com/siyuan-note/siyuan/issues/7112

Liang Ding 2 gadi atpakaļ
vecāks
revīzija
ffed021dda
3 mainītis faili ar 8 papildinājumiem un 4 dzēšanām
  1. 1 1
      kernel/model/ocr.go
  2. 6 2
      kernel/model/transaction.go
  3. 1 1
      kernel/sql/block_query.go

+ 1 - 1
kernel/model/ocr.go

@@ -57,7 +57,7 @@ func autoOCRAssets() {
 		waitGroup.Add(1)
 		waitGroup.Add(1)
 		p.Invoke(assetAbsPath)
 		p.Invoke(assetAbsPath)
 
 
-		if 63 <= i { // 一次最多处理 64 张图片,防止卡顿
+		if 63 <= i { // 一次任务中最多处理 64 张图片,防止卡顿
 			break
 			break
 		}
 		}
 	}
 	}

+ 6 - 2
kernel/model/transaction.go

@@ -1225,8 +1225,8 @@ func AutoIndexEmbedBlock() {
 }
 }
 
 
 func autoIndexEmbedBlock() {
 func autoIndexEmbedBlock() {
-	embedBlocks := sql.QueryEmbedBlocks()
-	for _, embedBlock := range embedBlocks {
+	embedBlocks := sql.QueryEmptyContentEmbedBlocks()
+	for i, embedBlock := range embedBlocks {
 		stmt := strings.TrimPrefix(embedBlock.Markdown, "{{")
 		stmt := strings.TrimPrefix(embedBlock.Markdown, "{{")
 		stmt = strings.TrimSuffix(stmt, "}}")
 		stmt = strings.TrimSuffix(stmt, "}}")
 		blocks := sql.SelectBlocksRawStmtNoParse(stmt, 102400)
 		blocks := sql.SelectBlocksRawStmtNoParse(stmt, 102400)
@@ -1234,6 +1234,10 @@ func autoIndexEmbedBlock() {
 			embedBlock.Content = block.Content
 			embedBlock.Content = block.Content
 			sql.UpdateBlockContent(embedBlock)
 			sql.UpdateBlockContent(embedBlock)
 		}
 		}
+
+		if 63 <= i { // 一次任务中最多处理 64 个嵌入块,防止卡顿
+			break
+		}
 	}
 	}
 }
 }
 
 

+ 1 - 1
kernel/sql/block_query.go

@@ -31,7 +31,7 @@ import (
 	"github.com/siyuan-note/siyuan/kernel/util"
 	"github.com/siyuan-note/siyuan/kernel/util"
 )
 )
 
 
-func QueryEmbedBlocks() (ret []*Block) {
+func QueryEmptyContentEmbedBlocks() (ret []*Block) {
 	stmt := "SELECT * FROM blocks WHERE type = 'query_embed' AND content = ''"
 	stmt := "SELECT * FROM blocks WHERE type = 'query_embed' AND content = ''"
 	rows, err := query(stmt)
 	rows, err := query(stmt)
 	if nil != err {
 	if nil != err {