3

そのため、Echo Nest API を使用して、ユーザーの音楽カタログにあるアーティストに似た 100 ほどのアーティストのリストを生成する機能を持つアプリケーションに取り組んでいます。次に、ユーザーが特定の年を指定すると、類似のアーティストに基づいて、アプリケーションはその年にリリースされたアルバムのリストを返します。

唯一の問題は、年に基づいてアルバムをフィルタリングする方法がわからないことです。Echo Nest API は、アルバムに対してあまり機能しません。Discogs API と Last.fm API はアルバムで動作し、Discogs API にはアルバムのリリース日に関するデータがありますが、最初のクエリをリリース日でフィルタリングする方法はありません。たとえば、Fleet Foxes というアーティストがいて、2011 年にリリースされたアルバムでフィルター処理したい場合、2011 年のリリース日に限定された Fleet Foxes でアルバムを検索するオプションはありません。

この時点で私が実際に見ることができる唯一のオプションは、アーティストが持っているすべてのアルバムを反復処理し、私の仕様を満たすアルバムのみを追加することです. ただし、これは明らかに API と私のサーバーの両方に非常に負担がかかります。特に、100 人の類似アーティストのリストに含まれるアーティストの多くが私の基準に一致するアルバムを持っておらず、多くのアーティストが 100 枚のアルバムの範囲内にあることを考慮すると、シングル、リミックスなどを考慮します。

誰かがこれを行うためのより良い方法を見ていますか?

4

1 に答える 1

2

API に実際に年でフィルター処理する方法がない場合は、もちろん、すべてのリリースをプルダウンして後でフィルター処理する必要があります。

これがコードやサーバーの負担になると思われる場合は、フィルタリングを追加する機能リクエストを提出する必要があります。

ただし、実際にそのようなものを提供していないことを最初に確認する必要があります。ほとんどの REST API は、「フェッチ」と「検索」を分離しています。たとえば、http://api.example.com/artists/12345/releasesそれをフィルタリングする方法がないかもしれませんが、http://api.example.com/search?type=releases&artist=12345&year=2011存在するかもしれません。

すべての API を詳細に調べることなく、Discogs の「検索クエリを実行する」ドキュメントを簡単に確認するとyear、検索に条件を含めることができることがわかります (アーティスト ID で実際に検索することはできないようですが、アーティスト名?)

于 2013-02-04T00:22:36.697 に答える