2012-03-08 44 views
0

我需要为满是视频的网站编写搜索功能。这些视频由第三方在线视频平台(OVP)托管,如brightcove,kaltura,ooyala等...... OVP提供了一个搜索API。 OVP包含每个视频的以下信息:标题,说明,is_published,持续时间,标记和create_date。搜索API很容易在这些字段上执行搜索和排序。在两个不同的系统中搜索数据?

但是,我想为每个视频提供更多信息,例如:可用的关闭音量,视图数量,喜欢的数量,过去一个月内最受欢迎的等等......我想我最适合存储的方式此数据位于我自己的数据库表中,其中包含与OVP视频数据库表中的video_id相关的FK video_id。

如果我想通过他们的API和我自己的视频数据库表tbl_video_meta_data通过SQL语句跨OVP视频数据库表中的字段搜索视频,我应该怎么做?

我想两种解决方案,但不知道他们中有谁是一个好主意,或者如果有其他选择考虑

1)执行通过基于其支持的领域OVP搜索API搜索。然后根据自己的可用字段在我自己的tbl_video_meta_data内单独搜索。然后显示对两个搜索结果都通用的记录。在这种方法中,我担心执行两次单独搜索的性能,然后在编码级别再次过滤它们,而不是使用SQL来完成所有这些。

2)我应该有一个cronjob周期性地从OVP获取视频数据并将其加载到tbl_video_cache。每当发生这种情况时,tbl_video_cache被截断。我的表tbl_video_meta_data当然会有一个FK video_idtbl_video_cache有关。现在我可以通过JOIN在两个表上执行SQL搜索。其实,现在我想到了......这似乎是最好的方法。

我想我会跟2一起去,但是好奇的是想知道它是否有什么缺点。

回答

0

我只是2)

2去)我应该有一个cronjob定期从OVP和IT负载的tbl_video_cache获取视频数据。 tbl_video_cache每次发生时都会被截断。我的表tbl_video_meta_data当然会有一个与tbl_video_cache相关的FK video_id。现在我可以通过JOIN在两个表上执行SQL搜索。其实,现在我想起它......这似乎是最好的方法