我对联盟会员数据Feed有疑问。
例如来自亚马逊或其他电子商店合作伙伴。我正在尝试导入他们的产品数据,但是如果两家商店都销售相同的产品,我们希望避免重复。
例如亚马逊:Product Title: iPhone 5 16GB Black
和另一家商店使用Product Title: iPhone 5 16GB
。
它们应该被列为一种产品,现在想象我有10家商店销售iPhone 5。
当然他们还有更多参数。我仍然需要一种算法来防止这种情况发生。就像产品参数的相似性匹配算法一样。
有没有人有这方面的经验,可以告诉我,这种情况可以建议什么样的算法?
详细的参数列表可以在GET Products
Documentation WebApi
非常感谢!
可以通过EAN编号来完成,但如果没有提供此编号,该怎么办。
答案 0 :(得分:1)
在开发算法之前,您需要定义业务规则。如果您的情况是除了标题之外的所有属性匹配,那么您可以尝试在标题上使用子字符串(一个是其他部分)匹配或模糊匹配。
我们使用模糊字符串匹配gem来查找重复的公司。
假设差异仅在标题上,您可以通过分析标题部分将更多智能放入算法中。在您的示例中,标题部分可以是模型,版本,容量和颜色。对于这个例子:
required_attributes = [model, version, capacity]
optional_attributes = [color]
定义每个产品类别的属性。将此与模糊匹配相结合,即使拼写错误也应该能够得到很好的匹配,并且匹配应该匹配:
iPhone 5 16GB Black
iPhone 5 16GB
iPone 5 16GB White