合并路由

This commit is contained in:
2026-04-08 20:12:23 +08:00
parent d14c9caa56
commit 8520b104eb
5 changed files with 378 additions and 522 deletions
+4 -23
View File
@@ -16,15 +16,13 @@ import (
"os" // 操作系统信号
"os/signal" // 信号捕获
"syscall" // 系统调用(SIGTERM
"time" // 定期刷盘定时器
"sese-engine/analyzer" // 文本分析和关键词提取
"sese-engine/backlink" // 反向链接(繁荣值)计算
"sese-engine/config" // 全局配置
"sese-engine/crawler" // BFS 爬虫
"sese-engine/harvester" // 收获服务器(索引写入)
"sese-engine/info" // info 服务(繁荣表、调整表、屏蔽词)
"sese-engine/search" // 搜索服务器
"sese-engine/search" // 搜索服务器(内嵌收获服务)
"sese-engine/storage" // 持久化存储
)
@@ -60,25 +58,8 @@ func main() {
}
defer anal.Close()
// ---- 4. 收获服务器(:5000):接收爬虫发来的索引数据 ----
harvSrv := harvester.New(db, infoSvc)
go func() {
if err := harvSrv.ListenAndServe(":5000"); err != nil {
log.Fatalf("[harvester] fatal: %v", err)
}
}()
// ---- 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, "http://localhost:5000")
// ---- 4. 搜索服务器(默认 :80):对外提供搜索 API,同时内嵌收获服务(统一端口)
searchSrv := search.New(db, infoSvc, anal)
go func() {
addr := fmt.Sprintf(":%d", config.SearchServerPort)
if err := searchSrv.ListenAndServe(addr); err != nil {
@@ -104,5 +85,5 @@ func main() {
signal.Notify(quit, os.Interrupt, syscall.SIGTERM)
<-quit
log.Println("shutdown signal received, flushing index...")
harvSrv.Flush() // 退出前刷盘,不丢数据
searchSrv.Flush() // 退出前刷盘,不丢数据
}