我有两个独立的系统 - 文档管理系统和sharepoint搜索服务器。
两个系统都有一个api,我可以使用它来搜索其中的数据。两个系统中可能存在相同的数据,因此我们都搜索两者。
同时搜索两个api并将结果合并在一起的最有效方法(速度非常重要)是什么。
以下想法是坏/好/慢/快:
该应用程序是ASP.NET MVC C#。
答案 0 :(得分:1)
您的解决方案看起来没问题 - 您正在使用适配器模式将两种不同的结果Feed转换为您所需的格式,整体设计是一种外观模式。从设计的角度来看,您的解决方案是有效的。
如果您想让事情变得更好,您可以在结果到达时立即显示结果并显示结果仍在加载的通知,直到所有API都返回值。如果您的文档管理系统明显比sharepoint更快或更慢,它将以这种方式更快地为用户提供信息。
答案 1 :(得分:0)
我没有看到你做这件事的方式有什么不妥。您的算法可能会永远产生完美的结果,但您需要取得平衡。任何优化都必须在搜索算法中完成(或者更确切地说是文档索引)。您仍然必须通过限制线程执行的持续时间来妥协,以确保对用户有多少匹配。