文章是从 rss 提要中解析出来的,每篇文章都可能分为许多类别。此外,每篇文章都有一些元数据,例如来源、上游等。
下面是我们如何设计空间。每篇文章都插入到文章空间中。
文章空间
网址哈希 | 文章内容
abcdef | {虚拟内容}
主键 urlhash = hash(article.url)。
在 category_articles 空间中,我们根据文章所属的类别多次插入文章
category_articles
来源 | 类别 | 网址哈希 | 时间戳
英国广播公司 | 艺术 | 文章1 | 27777 英国
广播公司 | 移动 | 第 8 条 | 27777 英国
广播公司 | 电话 | 文章3 | 纽约时报 27778
| 声音 | 第七条 | 纽约时报 36667
| 扬声器 | 第七条 | 45556
主键 = {源、类别、urlhash}
辅助键 = {源、类别、时间戳}
我需要给定来源和可能类别的最新文章。以下是我构建查询的方式。
box.space.category_articles.index.secondary:select{{'nyt','speaker'},{ iterator = 'LE', limit = 5 }}
现在我将在结果中两次获得 article7。目前我正在过滤代码中的重复结果。我如何在 tarantool 中有 distinct(urlhash) 类型的选项。