Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有 500 多篇文章的数据库,每 5 分钟 php 脚本检查带有新闻的 XML 文件。我需要忽略我已经拥有的文章。我需要检查新闻的相似性,因为有些人只是重写它。例如:
一个人会写:“你好,我叫约翰!你好吗?” 第二个会写:“你好!你好吗?我叫约翰!”
这不是一个很好的例子,但我有这个问题。为了比较文本,我将使用 shingles 算法。但是怎么做更好呢?我认为每次使用数据库检查 xml 中的每篇文章都不好。
由于您只有 500 多篇文章,因此每 5 分钟检查一次应该不成问题。
如果您无论如何都想改进这一点,您可以添加另一个表(md5 或 sha1 哈希,文本源)并存储您检索文本的源以及一些哈希。当您查看新文章时,您可以改为与哈希值进行比较,看看您是否已经看过这篇文章。