2012-03-08 7 views
0

私はビデオでいっぱいのウェブサイトの検索機能を書く必要があります。このビデオは、brightcove、kaltura、ooyalaなどのサードパーティのオンラインビデオプラットフォーム(OVP)によってホストされています... OVPは検索APIを提供しています。 OVPには、タイトル、説明、is_published、duration、tags、およびcreate_dateの各ビデオに関する次の情報が格納されています。検索APIは、これらのフィールドの検索と並べ替えを簡単に実行します。2つの異なるシステムでデータを検索しますか?

しかし、私は利用可能なクローズキャップのランゲージ、視聴回数、好きな数、先月最も人気のあるものなど、より多くの情報を各ビデオに帰属させたいと思います...私は、このデータは、自分のデータベーステーブルにあり、OVPのビデオデータベーステーブルのvideo_idに関連するFKのvideo_idを持ちます。

APIを使用してOVPの両方のビデオデータベーステーブルのフィールドをまたがってビデオを検索し、SQLステートメントを使用して自分のビデオデータベーステーブルtbl_video_meta_dataを検索するにはどうすればよいですか?

は、私は2つの解決策を考え、それらのいずれかのは良いアイデアであるか、あるいは他の選択肢がある場合

1)はそのサポートされているフィールドに基づいてOVP検索APIを経由して検索を実行考慮するかどうかわかりません。それから、私自身のtbl_video_meta_dataの中で、それ自身の利用可能なフィールドに基づいて別個の検索を実行します。次に、両方の検索結果に共通するレコードを表示します。このアプローチでは、2つの別々の検索を実行し、すべてを行うためにSQLを使用するのではなく、コードレベルで再度フィルタリングするパフォーマンスが心配です。

2)OVPからビデオデータを定期的に取得し、tbl_video_cacheにロードするクロムジョブが必要です。これが発生するたびにtbl_video_cacheが切り捨てられます。私のテーブルtbl_video_meta_dataはもちろん、tbl_video_cacheに関連するFK video_idを持っています。これで、両方のテーブルでJOINでSQL検索を実行できます。実際、今私はそれについて考えている....これは最善のアプローチだと思われる。

私は2と一緒に行くと思いますが、それに欠点があるかどうかは不思議です。私はちょうど2と一緒に行った

答えて

0

2)私は定期的にtbl_video_cacheにOVPと負荷それからビデオデータをフェッチするcronジョブを持っている必要があります。これが起こるたびにtbl_video_cacheは切り捨てられます。私のテーブルtbl_video_meta_dataはもちろん、tbl_video_cacheに関連するFK video_idを持っています。これでJOINを介して両方のテーブルでSQL検索を実行できます。実際には、今私はそれについて考える...これは最善のアプローチだと思われる