【发布时间】:2010-09-14 13:54:07
【问题描述】:
我正在开发一个购物比较网站,该项目处于非常先进的阶段。我们每天使用来自各种联盟网络的商家源为 5000 万种产品编制索引。我遇到的大部分问题都已经解决了,包括大部分性能瓶颈。
我的问题是什么:首先,我们将 apache solr 与 drupal 一起使用,但是,这个问题并不特定于 drupal 或 solr,如果您不了解它们,也没关系。
我们收到来自 2000 多个不同商家的产品供稿,而这些供稿一团糟。他们没有特定的模式,每个商家都以他们想要的方式发送提要。我们已经解决了许多与此相关的问题,但仍然存在一个问题。规范分面浏览功能的分类术语。
假设我的网站上有“Narrow by Brands”浏览方面。现在假设有 100 个商家提供 Microsoft 的产品。现在问题来了。一些商家在数据馈送“Microsoft”的“Brands”列中输入“Microsoft”,其他“Microsoft, Inc.”,其他“Microsoft Corporation”其他“Microsoft 产品”等......商家之间没有特定的模式,最坏的,有些个别商家太草率了,他们在同一个数据源中对同一个品牌有不同的字符串。
我们不希望所有这些不同的品牌出现在导航中。对于手动将导入品牌映射到“好”品牌表(“Microsoft Corporation”->“Microsoft”、“Products from Microsoft”->“Microsoft”等)的问题,我们有一个手动解决方案。我们在数据库中有大约 10,000 个品牌,这是可行的。问题是当它带有更大的东西时,比如“作者”。当我们将书籍导入系统时,有超过 800,000 位作者,我们遇到了同样的问题,而这不能通过手工映射来解决。问题是一样的:“Tom Mike Apostol”、“Tom M. Apostol”、“Apostol, Tom M.”等等……
有人知道以可接受的准确度(85%-95% 准确度)自动解决此问题的好方法吗?
感谢您的帮助!
【问题讨论】:
标签: string taxonomy string-matching faceted-search