fix 分页bug,加入手动刷盘
This commit is contained in:
@@ -16,6 +16,7 @@ import (
|
||||
"os" // 操作系统信号
|
||||
"os/signal" // 信号捕获
|
||||
"syscall" // 系统调用(SIGTERM)
|
||||
"time" // 定期刷盘定时器
|
||||
|
||||
"sese-engine/analyzer" // 文本分析和关键词提取
|
||||
"sese-engine/backlink" // 反向链接(繁荣值)计算
|
||||
@@ -67,8 +68,17 @@ func main() {
|
||||
}
|
||||
}()
|
||||
|
||||
// ---- 4b. 定期刷盘:每 60 秒强制将内存索引写入磁盘,确保搜索实时可用 ----
|
||||
go func() {
|
||||
ticker := time.NewTicker(60 * time.Second)
|
||||
defer ticker.Stop()
|
||||
for range ticker.C {
|
||||
harvSrv.Flush()
|
||||
}
|
||||
}()
|
||||
|
||||
// ---- 5. 搜索服务器(默认 :80):对外提供搜索 API ----
|
||||
searchSrv := search.New(db, infoSvc, anal)
|
||||
searchSrv := search.New(db, infoSvc, anal, "http://localhost:5000")
|
||||
go func() {
|
||||
addr := fmt.Sprintf(":%d", config.SearchServerPort)
|
||||
if err := searchSrv.ListenAndServe(addr); err != nil {
|
||||
@@ -93,5 +103,6 @@ func main() {
|
||||
quit := make(chan os.Signal, 1)
|
||||
signal.Notify(quit, os.Interrupt, syscall.SIGTERM)
|
||||
<-quit
|
||||
log.Println("shutdown signal received, exiting...")
|
||||
log.Println("shutdown signal received, flushing index...")
|
||||
harvSrv.Flush() // 退出前刷盘,不丢数据
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user