我正在尝试使用MusicBrainz的 API,但搜索端点的结果存在一些问题。
让我们举个例子来搜索Who's Who?- SIZE020 - Klack(混合两种)
从他们的网站搜索到这个页面,第一个结果几乎是正确的(可能是因为 100% 正确的信息根本不在数据库中)。
使用 API 会导致导致一些问题的不同情况。我做了一些不同的尝试,但没有成功,即使我认为我对Lucene的语法有足够的了解,可以为这个服务编写一个成功的查询。
- 取 1 - 查询“谁是谁? - SIZE020 - Klack (Mix Two)”的空结果
- 取 2 - 查询Who's+Who%3F+-+SIZE020+-+Klack+(Mix+Two) 的结果完全错误(与未转义的?字符相同)
- 取 3 - 查询“谁”和“谁?”的空结果 AND “SIZE020” AND “Klack” AND “Mix” AND “Two”
现在,我知道SIZE020不应该在查询中,但我不想在客户端处理文件名,所以我只是将查询推送到他们的服务,希望一切正常。它有效,但前提是我通过他们的网站查询服务,让我认为我的查询语法是错误的,让我一无所知。
您对为什么我在网站和 xml API 之间得到不同的结果有任何提示吗?
编辑:作为一个附带问题,给定一个随机文件名,提交查询的更好方法是什么?我使用网络版本并提交了典型的 mp3 文件名(如Artist_-_title_(version).mp3,但我没有从我的客户那里得到任何好的结果。