我们每天都会收集某些网站的帖子,并且希望将帖子保存在数据库中,而不会重复或丢失帖子。
我们每天收集来自链接的所有帖子,然后,我们将应用过滤器将其保存在数据库中。挑战在于建立有弹性的过滤条件。
帖子可能具有以下属性:
- 标题
- 文字内容
- 用户
- 发布日期
- 发现日期(该日期由我们在收集帖子时盖印)
条件
-
以上任何属性都可能会从源网站丢失,甚至同一网站在不同时间也会丢失。
-
任何字段都可能在某一时刻随时间变化。我们希望检测到这种情况以避免重复。
-
某些帖子的文字可能很短(例如“超级”)并且没有用户。在这种情况下,我们不希望重复检测机制出现假阳性。
-
及时出现额外的字段,我们希望保持将存储的帖子与新帖子(带有额外的字段)进行比较的可能性。
E.G。
不同时间的相同帖子:
{title:”test”,content:”this is a test post”,user: “”,publishedDate:0,discoveredDate: 1573591568}
{title:”test”,content:”this is a test post. John”,discoveredDate: 1573591999}
{title:"test",content:"this is a test post.\n John",user: "John",discoveredDate: 1573599999}
不同的帖子:
{title:"simple",content:"simple",user: "",discoveredDate: 1573591568}
{title:"simple",publishedDate:1573591568,discoveredDate: 1573591568}
我们当前的方法 目前,我们使用标题和内容创建一个哈希签名,但这还不足以涵盖上述所有情况。