用thinkphp写一个PHP前台,懒得搞多级分类,而且网站的内容决定了子分类下数据可能不会太多,搞单独子类就不太合适了,就想到了用tag来代替分类的想法。
还没写,这里我先自己理一下思路,因水平有限,也没看过其他cms的算法,纯属个人瞎写,写的不对各位看官一笑而过即可。
首先要高效吧,虽然我的mysql优化能力很差,但是要跑动态程序,总要提升下访问速度增强用户体验。
好吧不扯闲篇了,进入正题。
因为主要内容都是手动添加的,这里我就忽略分词了。网上也很多教程不赘述了。
基本思路是这样的,首先建立独立的tags表,用来储存所有的tag,并且有独立字段保存包括这个tag的文章id。
这个ids字段会在添加文章的时候,自动新建更新。这样查询的时候就不卡了,当然这个数据架构可以根据自己的需求改变。
这里我只阐述我个人的一点需求,内容不多,所以我这么放比较方便。我想最好的方法还是单独列个tag表,然后单独再建个跟tag对应的ids表。
然后查询tags的时候就可以获取到这个tag所对应的文章id 你也可以增加个 title 字段保存标题名。
OK基本这个思路,表达能力有限,下面列一下数据结构和说明。
1. 新增tags表, 字段:id(自动递增),tag(例子:526互联),ids(对应的文章id 例:1,2,3) 查询tag的时候可以分割处理
2. 内容表新增 tags 字段,字段保存所有tag,用逗号分隔。保存内容的时候,分割tags字段的值然后循环入库到 tags 表中
评论