Запрос Musicbrainz чувствителен к регистру?

Я запускаю 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>

Тем не менее, если я поменяю AND на нижний регистр, запрос будет работать правильно:

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. Это не случилось со мной с другими песнями еще. Кто-нибудь может объяснить, что здесь происходит?

1 ответ

Решение

Запрос чувствителен к регистру, по сути, "И" в качестве ключевого слова во всех заглавных буквах. Ваш первый запрос не возвращает результатов, потому что:

"Gilt Complex"AND artistname="Sons and Daugthers" не дал результатов.

Ваш второй запрос имеет несколько сотен тысяч результатов, потому что он переведен на:

"Gilt Complex" ИЛИ ИЛИ ИЛИ Artistname = "Сыновья и Дочери"

Последний термин в запросе ни к чему не относится и является просто исключением. Поиск только "и" в этом случае дает 526821 результатов, что соответствует тому, что мы наблюдали ранее.

Другие вопросы по тегам