feat(status): 全文索引降级上报到控制台 —— 让静默降级看得见
上一个提交修的是"卷没挂"这个实例,这个提交修的是"它坏了几周没人发现"这个 类别问题:全文路退内存兜底后,混合检索只表现为召回变差,不报错、无告警。 - mcp-go: bleveStore 记录 persistent;health 工具多报一个 fulltext_disk。 仍是 map[string]bool,gateway 现有反序列化不受影响(加非 bool 字段会让 整个 health 解析失败,连带 Milvus/Neo4j 健康灯一起黑)。 - gateway: 基建灯新增「全文索引」一项,退内存时给出后果与排查方向, 而不只是一盏灰灯。 - admin: 基建列表此前只渲染 name/up,detail 字段一直没露出——而降级原因 恰恰只存在于 detail 里。补上渲染(离线态用琥珀色),并给「全文索引」 补 INFRA_META(它不是独立服务,没有端口,落在容器卷上)。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -19,6 +19,9 @@ import (
|
||||
// 落盘不可用时退回内存索引(功能在、重启会丢),好过全文路全哑。
|
||||
type bleveStore struct {
|
||||
idx bleve.Index
|
||||
// persistent=false 表示退了内存兜底:功能在但重启即清零。这是**静默降级**——
|
||||
// 混合检索只会少一路召回、不报错,所以必须上报出去(health → 控制台),否则没人发现。
|
||||
persistent bool
|
||||
}
|
||||
|
||||
// bleveMapping:text 字段用 cjk 分词器(bigram,能切中文,否则默认标准分词器把整段中文当一个
|
||||
@@ -62,7 +65,7 @@ func openBleve() *bleveStore {
|
||||
return memBleve()
|
||||
}
|
||||
log.Printf("[rag] bleve 全文索引落盘就绪: %s", path)
|
||||
return &bleveStore{idx: idx}
|
||||
return &bleveStore{idx: idx, persistent: true}
|
||||
}
|
||||
|
||||
// memBleve 内存兜底:落盘不可用时退回内存索引(功能在、重启会丢),好过全文路全哑。
|
||||
|
||||
Reference in New Issue
Block a user