1

MusicBrainzの API を使用しようとしていますが、検索エンドポイントの結果に問題があります。

Who's Who? を検索する例を見てみましょう。- SIZE020 - Klack (ミックス ツー)

彼らのサイトから検索すると、このページが表示され、最初の結果はほぼ正確です (おそらく、100% 正しい情報がデータベースにまったくないためです)。

API を使用すると、いくつかの問題を引き起こすさまざまな状況が発生します。このサービスに対して成功するクエリを作成するのに十分なLuceneの構文を知っていると思っていても、いくつかの異なる試みを試みましたが成功しませんでした。

  • Take 1 - 「Who's Who? - SIZE020 - Klack (Mix Two)」というクエリで空の結果
  • Take 2 - クエリWho's+Who%3F+-+SIZE020+-+Klack+(Mix+Two)で完全に間違った結果(エスケープされていない ?文字と同じ結果)
  • Take 3 - クエリ"Who's" AND "Who?" の空の結果 AND "SIZE020" AND "Klack" AND "Mix" AND "Two"

さて、SIZE020をクエリに含めるべきではないことはわかっていますが、クライアント側でファイル名を処理したくないので、すべてがうまくいくことを期待してクエリをサービスにプッシュしています。そしてそれは機能しますが、彼らのウェブサイトからサービスをクエリした場合にのみ、クエリ構文が間違っていると思わせ、無知なままにします.

Web サイトと xml API で異なる結果が得られる理由について何かヒントはありますか?

編集:副次的な質問として、ランダムなファイル名が与えられた場合、クエリを送信するより良い方法は何ですか? Web バージョンを使用して、典型的な mp3 ファイル名 ( artist_-_title_(version).mp3など) を送信すると、良い結果が得られますが、クライアントから良い結果が得られません。

4

1 に答える 1

1

Web サービスを介した検索では、常に「高度なクエリ構文を使用したインデックス付き検索」検索方法が使用されます。これは変更できません。

于 2015-08-17T22:25:39.493 に答える