入库指纹去重
入库指纹去重
import hashlib
def fingerprint(text):
normalized = " ".join(text.split())
return hashlib.sha256(normalized.encode("utf-8")).hexdigest()[:16]
# 写入前查询指纹表:已存在则更新元数据或跳过相似度近重复清理
相似度近重复清理
dup_groups = cluster_by_similarity(chunks, threshold=0.95)
for g in dup_groups:
keep = pick_newest(g) # 保留最新版本
for c in g:
if c.id != keep.id:
store.delete(c.id, reason="near-duplicate")去重保留哪一份要有规则(版本新、来源权威、结构完整),并把删除动作记入审计日志。