我正在运行一个Java应用程序,该应用程序查询Musicbrainz数据库以获取信息,并且遇到了一个特殊的问题。我的应用程序构建(使用java.net.URL.URL
(的查询如下:
http://musicbrainz.org/ws/2/recording?query=%22Gilt+Complex%22+AND+artistname%3A+%22Sons+And+Daugthers%22
以上查询返回空的响应:
<metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ext="http://musicbrainz.org/ns/ext#-2.0" created="2018-04-25T14:25:36.224Z">
<recording-list count="0" offset="0"/>
</metadata>
但是,如果我更改并降低情况,则查询正常工作:
http://musicbrainz.org/ws/2/recording?query=%22Gilt+Complex%22+and+artistname%3A+%22Sons+And+Daugthers%22
返回:
<metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ext="http://musicbrainz.org/ns/ext#-2.0" created="2018-04-25T14:25:36.224Z">
<recording-list count="526823" offset="0">
...
</recording-list>
</metadata>
如果我将查询粘贴到chrome中,也会发生同样的事情。我还没有与其他歌曲发生这种情况。谁能解释这里发生的事情?
查询对细节敏感,本质上是"one_answers"作为关键字的所有上限。您的第一个查询不返回任何结果,因为:
" Gilt Complex"和ArtistName =" Sons and Daugthers"没有结果。
您的第二个查询有数十万个结果,因为它已翻译成:
"镀金复合体"或and ArtistName ="儿子和Daugthers"
查询中的最后一个学期不适用于任何东西,仅仅是排除。在这种情况下,仅搜索"one_answers"会产生526821结果,这与我们之前观察到的相匹配。