更新搜索引擎

This commit is contained in:
2025-08-11 23:10:36 +08:00
parent c617bba52b
commit 61d74561ef
10 changed files with 298 additions and 1 deletions

View File

@@ -0,0 +1,39 @@
package search
import (
"fmt"
"github.com/blevesearch/bleve/v2"
"log"
"os"
)
// 初始化索引(程序启动时调用一次)
func InitIndex() error {
// 检查索引目录是否存在Bleve v2 方式)
_, err := os.Stat("data")
exists := !os.IsNotExist(err)
if err != nil && !os.IsNotExist(err) {
// 除了"不存在"之外的其他错误(如权限问题)
return fmt.Errorf("检查索引目录失败: %v", err)
}
if exists {
// 打开已有索引
globalIndex, err = bleve.Open("data")
if err != nil {
return fmt.Errorf("打开索引失败: %v", err)
}
log.Println("成功打开已有索引")
} else {
// 创建新索引
mapping := bleve.NewIndexMapping()
globalIndex, err = bleve.New("data", mapping)
if err != nil {
return fmt.Errorf("创建索引失败: %v", err)
}
log.Println("成功创建新索引")
// 初始化文档(略)
}
return nil
}