查找相关标签

时间:2011-11-06 20:24:40

标签: php database tags

我正在创建一个网站,其中包含具有用户创建的标签的特定帖子。我的数据库如下所示:

Qid              Tag
3                Happy
3                Sad
3                Funny
6                Happy
6                Delicious
8                Angry

我想要做的是找到相关的标签。

我的计划是输入一个标记作为关键字(比如说Happy),然后出现SadFunnyDelicious

但我只想说最多5或6。

在真实数据库中,有更多这些条目,但我不知道如何在前5或6之间进行选择。

我的问题是:

  1. 我如何正确地进行查询以获得所有相关标签?
  2. 我如何将最佳搜索结果缩小到5或6?
  3. 有没有更好的方法来做我没想过的相关标签(例如字典)?
  4. 顺便说一下,它是用PHP编写的,所以我也可以在那里进行后期处理。

1 个答案:

答案 0 :(得分:1)

对你的问题给出一般答案......

  1. 您需要找到标签的QID,然后选择具有该QID的所有标签 - 当然,这取决于您如何在数据库中存储后期元数据

  2. 如果通过“最佳搜索结果”表示最常用的标签,那么您需要在表格中添加另一列 - 例如频率。然后,每次使用标签时增加1。但是,要根据这个假设找到前五名,你会做类似的事情:

    SELECT * FROM tag_table
    WHERE qid = 3            /* Where 3 is just an example                     */
    ORDER BY frequency DESC  /* so the most used are at the top of the results */
    LIMIT 5;                 /* select only the first five results             */
    
  3. 说实话,我不确定什么是更好的方法。没有任何进一步的信息,很难知道。

相关问题