关于网站文章分类和tag的思考

news/2024/5/14 14:56:17/文章来源:https://blog.csdn.net/weixin_33756418/article/details/91759809

为什么80%的码农都做不了架构师?>>>   hot3.png

分类是无限分类,即每个分类必须属于一个父分类,最顶级的分类父分类id为0。 一篇文章,应该如何和分类进行关联?传统的做法就是在文章表中有一个category_id字段对应分类id,即一篇文章属于一个分类。 但是现实情况中经常会出现一种需求:要求一篇文章可以在不同的分类下展示,这里不同的分类不是指有父子关系的分类,对于这个问题我知道两种做法:

  1. 发布文章时,选择"同时发布到其他分类",即将文章数据完全复制一份,在数据库中表现为两条记录,只是category_id不同。
  2. 取消文章表的category_id字段,使用另外一张表来存储文章与分类的 多对多 关系,这样保证每篇文章的唯一性。

对于方案1,缺点就是后期维护麻烦,一旦发现文章有错误需要修改,就不得不多次修改,而方案2没这个问题,但是在管理上有问题,比如删除分类同同时删除关联文章,不得不检查文章是否还关联了其他分类。

其实对于方案2,后来有了一种更加完美的替代方案,那就是tag,tag粒度很细,每篇文章都可以有多个tag,我们只需要一个tag表和tag关系表即可完成文章和tag的关联,同样,不管删除文章或tag,我们只需要删除tag关系即可,我们可以通过不同的tag聚合不同分类但是某些领域有关联的文章。

有一些激进网站完全采用tag替代了分类,这里我想了很久,最终决定采用tag+分类的方式,因为考虑到tag比较细散,而我还是要对文章进行一个更高纬度的分类的,我的方案是这样:

  1. 分类还是无限分类,只是我给每个分类加了一个属性 final ,该字段描述分类是否"最终",我认为一篇文章不管它跟多少"方面"有关系,但最终它只能呆在一个分类里,而这个分类必然是最终的,即 最终的分类 不允许有子分类,有子分类的分类不允许发布文章。
  2. TAG系统,为了让不同分类之间的文章产生聚合显示效果,我们采用tag,与分类并不冲突,tag只是用来检索。

如果把文章比作图书,那分类就像图书馆里的书架,而tag的话,就好像图书馆检索系统里的关键词索引。

-完-

转载于:https://my.oschina.net/cxz001/blog/364967

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_824204.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优酷、YouTube、Twitter及JustinTV视频网站架构设计

2019独角兽企业重金招聘Python工程师标准>>> 优酷视频网站架构 一、网站基本数据概览 据2010年统计,优酷网日均独立访问人数(uv)达到了8900万,日均访问量(pv)更是达到了17亿,优酷凭借这一数据…

网站访问量常用指标

2019独角兽企业重金招聘Python工程师标准>>> 网站访问量常用的指标为PV、UV、IP、独立访客等,常用的统计工具有百度统计、CNZZ、Google Analytics、GoStats 、量子统计等。 PV(访问量):即Page View, 即页面浏览量或点击量,用户每次…

怎么让热图显示基因名_热图,PCA画图网站推荐--------- ClustVis

1:前言在生信的分析学习过程中,对结果的可视化是非常重要的,在很多生信文章常见的就是热图,PCA等图。但是在画图之前,我们需要知道,我们这么做的目的是什么?那么画热图和PCA分析图的意义和目的是…

技术干货:使用静态缓存提升网站性能的五种方法!

本文作者: 乔锐杰 现担任上海驻云信息科技有限公司运维总监/架构师。曾任职过黑客讲师、java软件工程师/网站架构师、高级运维、阿里云架构师等职位。维护过上千台服务器,主导过众安保险、新华社等千万级上云架构。在云端运维、分布式集群架构等方面有着…

IIS7 发布网站 出现 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误...

windows7下发布web项目需要安装IIS,当安装完以后,web程序已经映射到了本地IIS上,运行出现如下错误提示处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”原因:vs2010默认的是4.0框架,4.0的框架是独立的CLR&#xf…

下载网站原代码步骤

打开你想复制的网站; 在网站的空白区,鼠标右键选择—页面另存为。会弹出一个窗口,选择需要保存的网页文件类型为“网页,全部”,网页文件的名称根据自己来写,比如是网站的首页就写index.htm ; …

小网站架构优化-提升抗并发能力:子应用程序分离方案

前言:标题为啥要加个“小”,只因为上一篇文章“小网站架构优化:从100并发抗到4000并发”,带了个“小”字,所以这篇也顺流加个“小”了。大意“小”是特指秋色园(流量小,服务器配置低&#xff09…

从运维角度看中大型网站架构的演变之路

前言 网上有很多文章类似于我今天要分享的课程,有架构师写的,有运维写的,还有开发些的,偏重点都不同,今天我以咱们运维角度全面讲解。 一个成熟的网站架构并不是一开始设计就具备高可用、高伸缩、高性能等特性的&#…

SVN 导出代码在VS2012运行提示“未能将网站xx 配置为使用 ASP.NET 4.0,为了使此网站正确运行,您必须将它手动配置为使用 ASP.NET 4.0”

今天接到了我们自己的一个订餐系统优化的任务,要想执行这个任务就得使用 SVN 获取源代码(我的学习进度还没有走到SVN); 其实这样来一下也好,有助于更好地学习接下来的SVN,哈哈。下面说问题: 1,当…

闪电精灵SEO 打破百度快速排名规则

我们许多站长们都是每天为了自己网站的排名操碎了心,然而纵使每天苦逼的更新网站,做外链,排名未必上得去,度娘总是不给面子,排名优化做的太慢。但是你可知道有一种方法能够在7-30天内快速提高网站排名吗?或者听说过但不会做? 百…

从运维角度看中大型网站架构的演变之路

本文出自 “李振良的技术博客” 博客,请务必保留此出处http://lizhenliang.blog.51cto.com/7876557/1951651 前言 网上有很多文章类似于我今天要分享的课程,有架构师写的,有运维写的,还有开发些的,偏重点都不同&#x…

当代文学网站设计初稿

完成设计初稿;设计思路:页头以毛笔开始,页尾以钢笔结束;为的是形象的表述当代文学从1949年至今的一个发展历程。页面采用古典元素点缀增加页面古典气息,采用笔墨、墨汁等增加页面文学韵味,页面背景采用有点…

网站、数据库的衍变之路

网站、数据库的衍变之路 转发自博客:http://www.cnblogs.com/birdshover/原文地址:http://www.cnblogs.com/birdshover/archive/2009/08/03/1537225.html (一) 最简单的一个网站,可能说是demo更加合适一些,…

20个非常不错的HTML5免费建站模板

HTML5是下一代主要的HTML编码规范,HTML5为网页设计者们提供了一些强大的新功能,HTML5的新功能包括:表单控制、APIS、拖拽、多媒体、屏幕绘图等。 本文向大家推荐12款免费的优秀高质量 HTML5CSS3 模板。 1. Touch The Future: Create An Elega…

20 个非常漂亮的 JavaScript 滑块设计的网站

这些东西一定会用的到的,哒哒 JavaScript 滑块,特别是基于 jQuery 插件的滑块在网站设计中使用非常频繁,下面是 20 个使用该技术设计的网站,设计非常精美,值得参考。 These Are Things Elevate Mathieu Clauss The Dai…

SEO禁用蜘蛛(爬虫)搜索收录网页(全)

手段一: Robots协议:用来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓取;可以屏蔽一些网站中比较大的文件,如:图片,音乐,视频等,节省服务器带宽;可以屏蔽站…

今日头条垂涎已久的Reddit,到底是个什么网站?

硅谷Live / 实地探访 / 热点探秘 / 深度探讨 在国内,说起新闻网站,我们肯定会想到今日头条、百度、搜狐、网易等等网站。 那么你们知道么?在美国,如果你问美国人他们最常逛的新闻社区是什么,回答中肯定会提及一个网站。…

如何确定一个网站是用Wordpress开发的

问题 如何确定一个网站是用Wordpress开发的? 答案 打开网页的源码页,可以通过搜索功能查找一下是否源码中包含wp-content。如果有这个文字,说明此网站基本就是使用wordpress程序创建的网站,因为wp-content是wordpress建站程序的一…

著名电子商务网站高并发千万级大型数据库经验之- 读写分离

由于公司的主服务器责任重大,而且满负荷跑了接近2年了,怕万一有闪失主服务器出现硬件故障后重新购买新服务器订货到货周期可能会比较长,所以公司在春节期间购买了一台更强大的新服务器来当备用服务器,购买的初衷就是防止出现硬件故…

利用shell脚本批量提交网站404死链给百度

网站运营人员对于死链这个概念一定不陌生,网站的一些数据删除或页面改版等都容易制造死链,影响用户体验不说,过多的死链还会影响到网站的整体权重或排名。百度站长平台提供的死链提交工具,可将网站存在的死链(协议死链、404页面)进行提交,可快…