Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 数据库自动乐曲规划器不应选择同一首乐曲_Mysql_Sql Server_Database_Solr_Similarity - Fatal编程技术网

Mysql 数据库自动乐曲规划器不应选择同一首乐曲

Mysql 数据库自动乐曲规划器不应选择同一首乐曲,mysql,sql-server,database,solr,similarity,Mysql,Sql Server,Database,Solr,Similarity,简短介绍: Music Studio程序,运行在mysql/mssql数据库上,从歌曲表中随机选择歌曲 问题:同一首歌存在于多张cd上,因此同一首歌可以选择多次,这是不应该发生的。大问题:如何避免这种情况,因为名称并不总是完全相同的 选择歌曲时应应用的其他规则: 上次播放时间超过X分钟。 当前队列播放列表中不应存在已选择的歌曲,以便在不久的将来播放。 评级>1可以是0-10 我不能改变我数据库的结构,否则音乐工作室就会崩溃。但我可以使用辅助数据库,如SOLR或MongoDB或。。。抢夺 要放在队

简短介绍: Music Studio程序,运行在mysql/mssql数据库上,从歌曲表中随机选择歌曲

问题:同一首歌存在于多张cd上,因此同一首歌可以选择多次,这是不应该发生的。大问题:如何避免这种情况,因为名称并不总是完全相同的

选择歌曲时应应用的其他规则:

上次播放时间超过X分钟。 当前队列播放列表中不应存在已选择的歌曲,以便在不久的将来播放。 评级>1可以是0-10 我不能改变我数据库的结构,否则音乐工作室就会崩溃。但我可以使用辅助数据库,如SOLR或MongoDB或。。。抢夺

要放在队列播放列表中的某些歌曲id

我在想:选择一首不应该与历史lastplayedtimestamp或历史表或queuelist表中歌曲的10%匹配的歌曲

例如,SOLR有可能吗

我只需要songid来指示musicstudio将歌曲放入队列列表

歌曲表结构:

例如:

Id, Artist,                       Title,                         Filename (usually Artist - Title . Extension).
1,  Narcotic Thrust,              I Like It (ORIGINAL MIX) 2004, C:\library\Dance X 2004\Narcotic Thrust - I Like It (ORIGINAL MIX) 2004.mp3
2,  Narcotic Thrust,              I Like It,                     C:\library\Dance CD 2005 vol.1\410-narcotic_thrust-i_like_it.flac
6,  01 Inna featuring Bob Taylor, Deja Vu,                       C:\library\Cool Dance CD vol.3\201 Inna featuring Bob Taylor - Deja Vu.mp3
7,  Inna (feat.) Bob Taylor,      Deja Vu,                       C:\library\Best Dance CD vol.9\08.Inna feat bob taylor - Deja Vu.mp3
8,  Inna,                         Déjà Vu,                       c:\library\D-Dance vol.2\206-inna-deja_vu.mp3

这是一项非常重要的任务,因为如果不对歌曲本身而不是歌曲标题进行统计分析,甚至不可能检测到重复的歌曲,但假设在大多数情况下,有关歌曲的元数据有很多共同点,则可以通过对位置敏感的哈希获得足够的结果其中接近重复的将接收类似的哈希。相似性依次以汉明距离来衡量

我建议的解决方案是在艺术家、标题和文件名的组合上运行。你可以准备一些字符串,然后你测量所说的汉明距离,如果超过阈值,你需要定义它,那么你现在就知道它很可能是重复的

本质上,您将要做的是搜索接近重复的-请参阅下面的链接以获得更详细的解释

关于你问题中提到solr的部分,下面的链接是我能得到的最接近的链接。不过我从来没用过,所以我不能说太多。 和

要使Solr只显示一组重复项的一个结果,我建议使用its。然后在由Simhash填充的字段上分组。