我需要为满是视频的网站编写搜索功能。这些视频由第三方在线视频平台(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_id
与tbl_video_cache
有关。现在我可以通过JOIN
在两个表上执行SQL搜索。其实,现在我想到了......这似乎是最好的方法。
我想我会跟2一起去,但是好奇的是想知道它是否有什么缺点。