合并多个API的最佳实践

时间:2012-08-22 23:50:40

标签: php mysql search-engine

所有有经验的程序员。 我需要关注以下建议。

以下问题的最佳做法是什么

我们有2-3个apis对象(公寓)(XML,JSON,SOAP,协议现在无关紧要)

每个都有几个关键点

a)地理位置 - 每个api都有自己的GeoDatabase,其中包含相同城市和地点的名称和ID

b)每个api都有不同的对象属性描述方式......就像房子里面的那样(游泳池,轮椅友好等)

所以我们需要的是导入这些数据,在本地合并并搜索....

这种解决问题的方法在架构上是什么......

一个非常接近的例子是酒店搜索引擎,他们在那里搜索10-20个不同系统的数据。 ...

所以我们需要类似的东西,但完全在另一种类型的对象上。 您的笔记,评论和答案非常感谢。非常感谢您的参与。

1 个答案:

答案 0 :(得分:1)

这是一个非常通用的问题,遗憾的是答案也非常通用。我会这样解决这个问题:

  • 为各种API创建wrappers,这将标准化内部调用它们的方式,使其更容易与它们进行交互。

  • 将所有结果转换为uniform format(如果可能),至少将搜索,排序和处理的字段。

如果您将此信息保存到数据库中,那么以易于查询的方式构建结构非常重要。

E.g。将定义房屋的整个JSON字符串存储到称为描述的字段中是不可取的。因此,为房子的每个属性创建字段,例如swimming pool (BOOLEAN yes/no)。相反,key-valueattribute-nameattribute-value字段可能包含以下记录:

  • 游泳池:是
  • 否:卧室:三个

等。你明白了。根据我的经验,您可以拥有一个统一的数据模型,您可以在其中模拟要包含的API值,从而更容易整理和比较它们。