English 中文(简体)
我需要编辑100000多个产品
原标题:I need to Edit 100,000+ Products

我正在考虑接受一个项目,要求我清理现有的电子商务网站。它相对成功,拥有超过100000个单独的产品,由客户和出版商加载。

该网站最初并不是为这么多产品设计的,现在已经变得相当混乱。

因此,客户要求我考虑一个更强大的搜索选项——可过滤等等。我完全同意它需要改进,但在查看数据库后,我可以看出有几十个类别,并不是所有的东西都标记正确等等。

有没有数据库管理软件可以帮助我快速清理100000个条目?使类别一致-修复大小写问题等。

有没有公司可以让我为项目的这一特定部分提供资源?

这是大量的数据输入。如果我每个产品花2分钟,我将花6个月的时间来完成数据库清理。我要么需要把它归结为每件产品几秒钟的时间,要么找一家专门从事这类工作的公司。

我甚至不知道在谷歌上搜索什么。

谢谢大家!

--

感谢大家的想法!我现在有很多选择,所以我觉得进入这个项目会舒服得多。现在,我认为我们的方向是构建一个工具,允许客户雇佣数据输入人员,他们可以在必要时更新数据。然后,我将作为一名顾问工作,在必要时负责任何UPDATE-WHERE类型的功能。

再次感谢!

最佳回答

无论如何,您可能需要做的不仅仅是“清理数据”,这意味着您需要构建新的规范化表。因此,从那里开始,构建一个完全规范化的新数据库,“按原样”导入数据,包括所有重复的类别,等等。

例如新表:

Items
ItemID     int identity/auto number
ItemName   string
CategoryID int
....

Categories
CategoryID    int identity/auto number
CategoryName  string
....

将坏数据导入新系统:

Items
ItemID  ItemName CategoryID
1       thing A  1
2       thing B  2
3       thing C  3
4       thing D  1

Categories
CategoryID CategoryName
1          Game
2          food
3          games

现在,您可以使用PK合并数据

UPDATE Items
    SET CategoryID=1
    WHERE CategoryID=3

DELETE Categories
    WHERE CategoryID=3

您可能只需要编写一个应用程序,客户就可以在其中进行整合。让他们在屏幕上选择重复项并合并到选定的父类别。您让这个应用程序从上面执行合并sql。

如果存在需要明确切换日期的问题,请创建一个生成一系列“Map”表的应用程序,在其中存储CategoryNameOld=“games”和CategoryNameNew=“Game”,并在将坏数据转换/加载到新系统的表中时使用这些表。

问题回答

如果存在如您所描述的不一致,听起来问题可能更多地是坏数据模型的问题(即缺乏规范化),而不仅仅是脏数据。如果有良好的规范化,清理类别应该像为每个类别更新一条记录一样简单——但如果使用类别名称而不是外键,那么您很可能需要执行一系列UPDATE WHERE语句来清理文本。

您可能想研究一种ETL(提取、转换、加载)工具,它可以帮助进行批量数据转换。我不熟悉mysql的ETL工具,但我确信它们确实存在。SQL Server有一个名为SQL Integration Services的内置服务,它提供了从现有数据源提取数据、执行批量更改或转换,然后将数据重新加载回目标数据库的能力。像这样的工具可能有助于加快大写、标点符号、更改类别等的标准化进程。

即使如此,也不要忽视数据模型可能需要调整以帮助防止未来出现这种情况的可能性。

编辑:Wikipedia有一个您可能想要调查的开源ETL产品列表。

我会实现新的搜索系统或其他什么,并为他们构建一个工具,使他们能够轻松地浏览和清理列表、重新分类等。这项任务需要领域知识,所以他们是最好的。

做一些数字运算,这样他们就可以对列表进行优先级排序,并按重要性排序。

请记住,一个或你的选择是建立一个糟糕的界面,有人可以用来编辑记录,从临时机构雇佣六名数据输入人员,花两天时间培训他们,然后让他们进城。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Transaction handling with TransactionScope

I am implementing Transaction using TransactionScope with the help this MSDN article http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx I just want to confirm that is ...

System.Web.Mvc.Controller Initialize

i have the following base controller... public class BaseController : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { if (...

Microsoft.Contracts namespace

For what it is necessary Microsoft.Contracts namespace in asp.net? I mean, in what cases I could write using Microsoft.Contracts;?

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签