由于在各种新闻网站上发布了大量新故事/类似新闻内容,我无法轻松管理RSS源.对于诸如世界新闻和商业新闻等主题,许多故事都是多余的,给读者增加了负担,使他们能够理清他们已经阅读过的故事.为了解决泛洪和冗余这两个问题,我需要开发一个代码来减少要读取的项目数量,并使用重叠信息来划分有趣的主题.
如果我能够像GOOGLE NEWS/StackOverflow一样将类似的新闻内容组合在一起并将其呈现给用户,那将会更容易.
我有一个城市表,看起来像这样.
|id| Name |
|1 | Paris |
|2 | London |
|3 | New York|
Run Code Online (Sandbox Code Playgroud)
我有一个看起来像这样的标签表.
|id| tag |
|1 | Europe |
|2 | North America |
|3 | River |
Run Code Online (Sandbox Code Playgroud)
和cities_tags表:
|id| city_id | tag_id |
|1 | 1 | 1 |
|2 | 1 | 3 |
|3 | 2 | 1 |
|4 | 2 | 3 |
|5 | 3 | 2 |
|6 | 3 | 3 |
Run Code Online (Sandbox Code Playgroud)
如何计算哪个是最密切相关的城市?例如.如果我正在看城市1(巴黎),结果应该是:伦敦(2),纽约(3)
我找到了Jaccard索引,但我不确定如何最好地实现它.
如何将一组标签与我数据库中另一个帖子的标签进行比较以获取相关帖子?
我要做的是将帖子上的一组标签与另一个帖子的标签进行比较,而不是将每个标签单独比较.所以说你希望根据帖子中的标签获得真正相关的项目,然后从最相关和最不相关的项目中显示它们.无论关系水平如何,每次都必须显示三个相关项目.
Post A有标签:"architecture","wood","modern","switzerland"
Post B有标签:"architecture","wood","modern"
Post C有标签:"architecture","modern" ","石头"
Post D有标签:"建筑","房子","住宅"帖子B与帖子A相关75%(3个相关标签)
帖子C与帖子A相关50%(2个相关标签)
帖子D与帖子A相关25%(1个相关标签)
我怎样才能做到这一点?我目前正在使用3桌.
posts
> id
> image
> date
post_tags
> post_id
> tag_id
tags
> id
> name
Run Code Online (Sandbox Code Playgroud)
我搜索了Internet和Stack Overflow以了解如何执行此操作.我最接近的发现是如何在PHP中找到"相关项目",但实际上并没有为我解决太多问题.