标签php提高数据库速度和用户体验

问题描述:

stackOverFlow是怎么回事,如果它不是这个系统的第一个实现。决定它的初始标签在哪里?标签php提高数据库速度和用户体验

我想为用户提供我的网站上的最佳体验,并实施标签系统。我不关心搜索引擎或任何这些。我只关心我的用户。

任何人有任何建议,当他们允许用户标记的东西失败或成功的事情?

是否有人知道关于用户标记方法的一些好资源? 有没有人知道一些关于从编程角度,数据库结构,理论等实现标签系统的好资源?

我会给我的支票给谁我觉得在这个问题上最好的方向指向我。

+0

Twitter使用一种称为主题的标记系统,它们用#符号表示。它们不会被过滤,但会在Twitter识别趋势时变得有用。用户将会自我警惕以保持趋势。我倾向于在我的帖子中选择具有更高计数的标签,原因很相似。我想我的帖子是相关的。 – Sonny 2010-06-02 21:00:25

+0

另外我应该问一下,任何人都知道一个好的php标签库来看看? 唯一的事情是,我是一名吝啬鬼。 – Prospero 2010-06-02 21:11:18

标签系统是一个多对多的关系(一个项目可以有多个标签,而一个标签可以有多个项目)。实现这一点的一种方式是为标签设置一个表格,标记项目的一个表格(例如文章)以及标签/项目关系的交叉表格。

表 “标签”:

id 
tagname 

表 “项目”:

id 
itemname 
itemcontent 

表 “Item_Tag”:

item_id 
tag_id 

每次标签的物品,只需添加另一个行到Item_Tag表。加入表格以获得关系。例如,要查找所有物品标签“PHP”:

SELECT Item.id,Item.itemname FROM Item 
JOIN Item_Tag ON Item_Tag.item_id = Item.id 
JOIN Tag ON Tag.id = Item_Tag.tag_id 
WHERE Tag.tagname = "PHP"; 

至于标签的实际使用情况,要注意的唯一的事情实在是太多了标签。如果您的所有标签都只有一些标签,那么搜索并不会带来好的结果。您可能必须手动警告标记创建过程,以防止类似的标记重复。

对于首先标签,除非您告诉我们您的网站是关于什么,否则我们无法帮助您。我确信Stack Overflow开始于所有编程语言的标签以及算法,OOP等一些其他编程主题。