使用全文搜索表和链接表

时间:2012-03-22 17:44:30

标签: php mysql sql full-text-search

我有一个像这样的简单数据库:

table "contents":
--------------------------
CID | contentName
  1 | Watermelon

table "tags":
--------------------------
TID | tagName | tagKeywords
 77 | Fruit   | Fruit, fruits
 99 | Nature  | nature, green, mother earth

table "associations":
--------------------------
CID | TID
  1 | 77
  1 | 99

如何编写一个在表格“contents”中搜索的选项,每行继承任何相关标签的关键字?

例如,如果我搜索“水果”和“绿色”全文搜索应该更相关,因为匹配两个标签

1 个答案:

答案 0 :(得分:1)

认为这更像是你在寻找的东西:

SELECT c.contentName, GROUP_CONCAT(tagkeywords separator ',')
FROM contents c
INNER JOIN associations a ON a.CID = c.CID
INNER JOIN tags t ON t.TID = a.TID
GROUP BY c.contentName;

我刚试过它,得到了以下内容:

contentName    GROUP_CONCAT(tagkeywords separator ',')
-----------    ---------------------------------------
Watermelon     Fruit, fruits,nature,green,mother earth