【问题标题】:Rails: A way to check for duplicate item in DB? Affiliate data feedsRails:一种检查数据库中重复项的方法?附属数据馈送
【发布时间】:2014-07-31 19:44:50
【问题描述】:

我对联属网络数据馈送有疑问。

例如来自亚马逊或其他电子商店合作伙伴。我正在尝试导入他们的产品数据,但如果两家商店都销售相同的产品,我希望避免出现重复。

例如亚马逊Product Title: iPhone 5 16GB Black

另一家商店使用Product Title: iPhone 5 16GB

它们应该被列为一种产品,现在假设我有 10 家商店在销售 iPhone 5。

当然,它们还有更多参数。我仍然需要一种算法来防止这种情况发生。类似于产品参数的相似度匹配算法。

有没有人有这方面的经验,可以告诉我,对于这种情况可以建议什么样的算法?

详细的参数列表可以在这里找到GET ProductsDocumentation WebApi

非常感谢!

可以通过EAN号码来完成,但是如果没有提供这个号码怎么办。

【问题讨论】:

    标签: mysql ruby-on-rails matching similarity affiliate


    【解决方案1】:

    在开发算法之前,您需要定义业务规则。如果您的情况是除标题之外的所有属性都匹配,那么您可以尝试对标题进行子字符串(一个是另一个的一部分)匹配或模糊匹配。

    我们正在使用模糊字符串匹配 gem 来查找重复的公司。

    假设差异仅在标题上,您可以通过分析标题部分将更多智能放入算法中。在您的示例中,标题部分可以是型号、版本、容量和颜色。对于这个例子:

     required_attributes = [model, version, capacity]
     optional_attributes = [color]
    

    并为每个产品类别定义属性。将此与模糊匹配结合起来,即使拼写错误,您也应该能够获得良好的匹配,并且以下应该匹配:

     iPhone 5 16GB Black
     iPhone 5 16GB
     iPone 5 16GB White
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多