MySQL按文件名,标签,文件类别和作者搜索文件

时间:2014-03-29 14:55:52

标签: php mysql sql search youtube

我正在做像youtube这样的事情。

如何搜索文件?

我的数据库结构:

文件:

ID (PK)
AuthorID (FK)
Name  varchar

FileToCategory

ID(PK)
FileID(FK)
CatID(FK)

TagsToFile

ID(PK)
FileID(FK)
Tag varchar
  1. 我想让用户在搜索文本框中输入内容,然后根据文件名和标签显示最佳结果。
  2. 当用户正在观看某个文件时,我想根据文件名,标签,类别(与实际文件相同)和作者向他展示建议文件列表。
  3. 怎么做? 我很感激任何代码或自然语言解释如何做到这一点。

    修改

    AD。 1

    这样的东西有效,但它不使用文件名,如何更改?

    SELECT f.ID, f.Name, count( t.ID ) AS HowsGood
    FROM Files f
    LEFT OUTER JOIN TagsToFile t ON f.ID = t.FileID
    
    AND t.Tag
    IN (
    'lucky', 'wow', 'ninja', 'cat'  -- example of searched words
    )
    GROUP BY f.ID, f.Nazwa
    order by count(t.ID) desc
    

1 个答案:

答案 0 :(得分:0)

你可以使用类似的东西。

SELECT DISTINCT a.ID, a.Name
FROM Files a, TagsToFile b
WHERE a.ID = b.FileID
AND (a.Name LIKE '%search%' OR b.Tag LIKE '%search%');