【问题标题】:Grouping products that are the same but have slightly different titles/attributes对相同但标题/属性略有不同的产品进行分组
【发布时间】:2013-06-18 09:39:07
【问题描述】:

我在我的网站上展示了大量产品。 我必须对来自不同网站的类似产品进行分组, 我已经爬到了我的数据库。 这样当搜索产品时,它也会显示来自另一个网站的相同产品。

我尝试了以下方法

  1. 按产品标题分组

    结果 - 失败,因为 Sony Xperia Z、Sony Xperia Z( 黑色 ) 是同一个产品,但标题不同,所以不能在同一个组中。所以错误率很高。

  2. 按属性分组:

    具有相似属性和价值的产品被归为一组。 但它的速度很慢,错误率也很高。 因为来自不同公司的不同产品可能具有相同的属性。

这是最好的方法。 请帮帮我。

提前致谢。抱歉英语不好。

【问题讨论】:

  • 您说您认为 XperiaZ 和 XperiaZ(black) 是同一种产品吗?不应该是属性吗?
  • @Fabinout:不,那只是按标题分组。如果仅按标题名称分组,它们将属于不同的类别。

标签: database performance algorithm search-engine


【解决方案1】:

我将尝试使用您的按标题分组解决方案,但使用 RegEx 进行了修改。或者只使用以下方法:

title1.contains(title2)

title1.startsWith(title2)

不可能有 100% 无错误的解决方案,所以我会添加这样的链接: “不是你的产品?点击这里” 暂时从该组中删除产品并将其标记为“不确定”,以便您可以手动检查。

【讨论】:

  • 用RegEx修改过,能举个例子吗?
【解决方案2】:

您可以使用第一个字母和字典,然后使用mysql全文搜索和相关性排序。问题不是很清楚。还有 leventhein 距离和 soundex() 函数。

【讨论】:

    猜你喜欢
    • 2018-10-24
    • 1970-01-01
    • 2023-04-06
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多