【问题标题】:How does a tag cloud work [closed]标签云如何工作[关闭]
【发布时间】:2013-04-25 17:22:01
【问题描述】:

我是标签云的新手。我即将在我的项目中实现标签云功能。为了做到这一点,我应该对此有所了解。我刚开始学习它,对标签云有了一些理论概念以及它是什么?

标签云是网站上标签(主题)的可视化描述。

标签是如何工作的?在标签云中生成标签有什么规则吗?

我应该使用哪个 JQuery 插件?作为解决方法,我在 JQuery 站点中搜索了标签云插件。我找到了these

【问题讨论】:

  • 标签云是陈词滥调,无论如何都是个坏主意。
  • 不只是陈词滥调,而且是彻头彻尾的丑陋。那是那些“web 2.0”趋势之一——感谢上帝——在它出现的同时迅速消亡。但除了我的意见,如果你绝对必须这样做,我会发布一个答案来帮助你
  • 天哪,标签云的爱在哪里?我喜欢美味的 - 它让您一眼就能很好地了解用户的兴趣。
  • 标签云基本上从您的站点中获取前 X 个标签,并显示它们。标签使用得越频繁,显示的越大。维基百科有一个算法可以让你自己制作:en.wikipedia.org/wiki/Tag_cloud#Creation_of_a_tag_cloud

标签: jquery tag-cloud


【解决方案1】:

标签云是一组标签,根据您网站中出现的次数,这些标签无疑是最受欢迎的。每个标签在云中显示的大小取决于该标签的受欢迎程度。有很多方法可以实现这一点。通常,css 决定了字体的大小,可以这样处理:

标签表:
id,标签

文章表:
id、标题、正文等

标签关系表:
article_id、tag_id、user_id

因此,当用户标记文章时,它会使用用户 ID、文章 ID 和标签 ID 将关系添加到关系表中。通过这种方式,您可以记录文章中标签的个别出现,以及谁给它们加了标签。换句话说,一种计量单位。

标签云会获取一组标签——通常是至少有 1 次使用的标签——否则可能应该是相对随机的。因此,您的 fetch 查询可能会导致如下结果:

标签、分数(基于出现次数和您选择的任何因素的算法)

酷:2
汽车 : 5
好笑:4
热门:1
丑:7

然后您使用标签的分数来应用 css 类。你可以让它变得无限并失控,但最好设置界限。所以我们给出一个 1 - 10 的选项。在 css 中,您可以为每个分数定义一个类:

.score-1{
    font-size: 1em;
}

.score-2{
    font-size:1.1em;
}

.score-3{
    font-size:1.2em;
    font-weight:bold;
    color:#ff6600;
}

//etc.

并像这样提供 html:

<a href="tags.php?tag=15" class="score-2">Cool</a>
<a href="tags.php?tag=10" class="score-7">Ugly</a>
<a href="tags.php?tag=3" class="score-5">Cars</a>
<a href="tags.php?tag=4" class="score-1">Hot</a>
<a href="tags.php?tag=6" class="score-4">Funny</a>

除此之外,jQuery 不一定与标签云有任何关系。但是可能有一些插件可以做到,所以如果你找到它们就去吧。

我应该澄清此示例中的“分数”,假设您有一个算法来获取出现次数,并且 - 根据您自己的任意数量的标准,分配 1 - 10 的最终分数值。不一定使用原始计数作为一个分数。 Rocket 提到标签云是网站上的 TOP 标签 - 这可以明确为网站上的顶级 RANGE。否则,您最终可能会得到一个标签云,其中所有标签都是巨大的并且大小相同。我有一个网站在前 10 个标签上徘徊,所有标签的出现次数都相同,数周内给予或拿走几分。您可以查看因子分数的标准差。我倾向于经常使用它来避免垃圾邮件。此外,自上次使用以来的时间、使用标签的用户的可信度等。

如果您有任何特殊问题,请告诉我,我可能会更新。

【讨论】:

    猜你喜欢
    • 2012-07-04
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    相关资源
    最近更新 更多