|
|
1
1
将另一个字段添加到实体表:标记。使用逗号分隔的标记字符串,以防止选择实体列表时出现两个以上的连接。 |
|
|
2
1
也许您可以有一个单独的表来存储相关条目。
然后可以让cron作业定期重新计算关系并更新表。这将比试图快速计算这些关系要便宜得多。 |
|
|
3
1
您需要跟踪一个标记链接到另一个标记的频率。比如说,“php”和“mysql”共享50篇文章(或者被标记的主要内容是什么),而“php”和“sql server”可能有3篇,“php”和“apache”有25篇。因此,给定“php”,您需要按此顺序返回“mysql”和“apache”(可能让“sql server”陷入困境)。 这不可能是一个理想,只是大声地想出来(现在我看到了斯蒂芬奇的答案,并对其进行了扩展):
然后,对于绑定到文章的每个唯一标记,循环遍历所有其他标记并插入/更新,将关系计数递增1。这意味着(“php”、“mysql”)和(“mysql”、“php”)是要维护的两个完全不同的关系,但如果不深入研究我可能已经忘记的搜索概念,它仍然可以工作。如果某个东西有10+个标签,更新会非常慢(可能会像stephenc建议的那样传递给cron),但这样搜索会更容易。很好,很直截了当:
比同时检查两者更容易
因此,如果您查找的是“php”和“mysql”,而“apache”通常与这两者相关,那么它将接近顶部,因为它计算了每个公共关系的权重。但它不会严格限制为普通链接,所以添加
(注:在认为这甚至有点用处之前,先研究一下这个问题——我相信有一些已知的算法比这聪明100倍,我只是不记得而已。) phpro.org有一个 good writeup 同样,使用类似的想法。 |
|
|
Camille · 如何使用Python缩进xml的特定行? 2 年前 |
|
|
David S · 如何将角点列表转化为晶格 2 年前 |
|
|
Micz · 如何制作需要选择多个单词的地方 2 年前 |
|
oli_vi_er · Regex捕获的数量超过所需数量 2 年前 |
|
|
Matt Croft · 在C中更新XML标记的值# 3 年前 |
|
|
heron · 在python中获取html标记值 13 年前 |