基于DAG压缩的高效XML关键字搜索
1. 索引构建
索引名为IDCluster,包含每个冗余组件的IDLists和冗余组件指针映射(RCPM),RCPM用于合并冗余组件的搜索结果。IDCluster的生成分为两个阶段:
- 第一阶段:扩展DAG压缩
- 当节点满足以下两个条件时被视为相同:直接包含相同的关键字;所有子节点相同。
- 若找到与先前节点 n 相同的节点 n′ ,则删除 n′ ,并将其父节点 parent(n′) 到 n′ 的边替换为 parent(n′) 到 n 的新边,此新边称为偏移边,包含 n′ 和 n 的ID差值。
- 为每个节点存储出现次数(OccurrenceCount),表示该节点的相同出现次数。
- 例如,原树中节点5与节点12相同,删除节点12,通过节点5和偏移为 +7 的偏移边隐式表示。节点5的OccurrenceCount为2,意味着节点5现在代表原树中的两个节点。
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(开始):::process --> B(遍历节点):::process
B --> C{节点是否相同?}:
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



