在两个不同的系统中搜索数据?

时间:2012-03-08 15:16:19

标签: search

我需要为一个充满视频的网站编写搜索功能。这些视频由第三方在线视频平台(OVP)托管,如brightcove,kaltura,ooyala等...... OVP提供搜索API。 OVP为每个视频保存以下信息:标题,描述,is_published,持续时间,标签和create_date。搜索API可以轻松地在这些字段上执行搜索和排序。

但是,我想将更多信息归于每个视频,例如:可用的封顶语言,观看次数,喜欢的数量,过去一个月最受欢迎的等等...我想最好的方式来存储这个数据在我自己的数据库表中,其中一个FK video_id与OVP视频数据库表中的video_id相关。

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

我想到了两个解决方案,但不确定它们中的任何一个是不是一个好主意,或者是否有其他选择要考虑

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

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

我想我会选择2,但很想知道它是否有任何缺点。

1 个答案:

答案 0 :(得分:0)

我刚刚去了2)

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