索引音乐歌词数据库

时间:2011-04-17 20:46:54

标签: php python database search indexing

所以我想从歌词网站索引歌词,然后对歌词进行操作(搜索某些艺术家,术语,模式等)。

我认为最好的情况是,如果我已经有一些结构化文件格式供我使用 - >有谁知道这样的事情是否存在?

下一个最好的事情是一个“适合”我想要做的网站 - >任何这样的网站?

关于我如何快速做到这一点的一般评论? (这应该是一个有趣的项目而不是重型应用程序)

谢谢!

2 个答案:

答案 0 :(得分:3)

从网站下载歌词数据库是个坏主意,你可以查询你想要的每个歌词。

即使您下载了所有歌词,也不要将它们存储在平面文件(可能是xml?)上,而不是使用像sqlite这样的数据库。否则搜索或列出的操作会很痛苦。

但不知道适合的网站。

编辑;我找到了ChartLyrics API;你可以轻松使用他们的API。

答案 1 :(得分:2)

通常,

1)下载该歌词并将其存储在数据库中的单独表格中

表格:歌词(示例)

+---------+-------------+-----------------+-------------------------------+
| lyr_id  | lyr_artist  | lyr_title       | lyr_content                   |
+---------+-------------+-----------------+-------------------------------+
| 1       | Metallica   | The Unforgiven  | New blood joins this earth... |
+---------+-------------+-----------------+-------------------------------+
...
+---------+-------------+-----------------+-------------------------------+

2)搜索专栏lyr_artist中的艺术家,专栏lyr_title中的歌曲标题文字(关键字)在lyr_content等等

查询示例

SELECT * FROM lyrics WHERE lyr_artist='artist';
SELECT * FROM lyrics WHERE lyr_title='song_title';
SELECT * FROM lyrics WHERE lyr_content LIKE '%word1%' AND lyr_content LIKE '%word2%'

嗯,通常,类似的东西..或混合WHERE条件。您可以使用WHERE ... LIKE到歌曲标题和艺术家等列,例如,如果用户要求输入关键词“Unforgiven”等,则可以找到歌曲“The Unforgiven”。

3)使用查询结果显示搜索结果


注意:在速度方面,将数据存储在服务器上的文件中并不如将其存储在数据库中那么好。