fix(term): 清理百度百科摘要的截断结尾
Build and Publish Server / build (push) Successful in 2m6s
Publish Mini Program Dev Version / publish (push) Successful in 3m3s

百度百科 BaikeLemmaCardApi 摘要以 ... 硬截断,出现半截话。
新增 trimTruncatedTail:去掉结尾省略号后,若末句不完整则
回退到最后一个完整句标点(。!?),避免「唐宋时期,冬至...」
这类戛然而止的结尾。仅依赖百度百科,不引入维基,线上可用。
This commit is contained in:
gouki
2026-08-18 00:09:12 +00:00
parent bff792a974
commit 241a04496b
2 changed files with 53 additions and 1 deletions
@@ -128,3 +128,24 @@ func TestTermSort(t *testing.T) {
t.Errorf("termSort(不存在) = %d, want 0", termSort("不存在"))
}
}
func TestTrimTruncatedTail(t *testing.T) {
cases := []struct {
name string
in string
want string
}{
{"完整句号结尾不动", "夏至后人们普遍食用清补凉汤来避暑。", "夏至后人们普遍食用清补凉汤来避暑。"},
{"英文省略号回退", "表达感谢的心情。唐宋时期,冬至...", "表达感谢的心情。"},
{"中文省略号回退", "表达感谢的心情。唐宋时期,冬至…", "表达感谢的心情。"},
{"无句号半截话保留", "可明显感觉到早春的气...", "可明显感觉到早春的气"},
{"多点省略号", "农事谚语....", "农事谚语"},
{"结尾空白加省略号", "冬至大如年。 ...", "冬至大如年。"},
{"空字符串", "", ""},
}
for _, c := range cases {
if got := trimTruncatedTail(c.in); got != c.want {
t.Errorf("%s: trimTruncatedTail(%q) = %q, want %q", c.name, c.in, got, c.want)
}
}
}