Mysql 如何处理维基百科转储中的重定向?

Mysql 如何处理维基百科转储中的重定向?,mysql,sql,wikipedia,Mysql,Sql,Wikipedia,我已使用成功地将enwiki-latest-pages-articles-multistream.XML页面导入MySQL 当我查找某个页面的文本(描述的过程)时,它通常是#重定向[[some_page_name]]]。我所知道的遵循此重定向的唯一方法是在所有页面标题中搜索某些页面名称。这不仅耗费时间,而且有时会有多篇文章的标题完全相同 我正在考虑从数据库中删除所有重定向页面 但在此之前,有没有更好的方法来处理这些重定向 据我所知,您需要确定重定向的目标是什么。正确的?。如果是,则可以使用以下查

我已使用成功地将enwiki-latest-pages-articles-multistream.XML页面导入MySQL

当我查找某个页面的文本(描述的过程)时,它通常是
#重定向[[some_page_name]]]
。我所知道的遵循此重定向的唯一方法是在所有页面标题中搜索
某些页面名称
。这不仅耗费时间,而且有时会有多篇文章的标题完全相同

我正在考虑从数据库中删除所有重定向页面


但在此之前,有没有更好的方法来处理这些重定向

据我所知,您需要确定重定向的目标是什么。正确的?。如果是,则可以使用以下查询获取:

select rd_title from redirect
inner join page
on page_id = rd_from
where page_title like "some_page_name"
rd_标题是重定向的目标页面


如果我错了,请纠正我。

很抱歉回复太晚,但我发现我的Wikipedia数据库已损坏,因此我只有约10%的文章,很多表是空的(重定向就是其中之一)。我曾多次尝试使用MWDumper将XML转储导入MySQL,但每次数据库都被破坏。我还尝试重新下载和解压缩原始bzip文件。因此,虽然我无法亲自检查您的答案,但我会正确地标记它,因为它可能是正确的。不管怎样,谢谢你的帮助。啊!。这个问题以前在我身上发生过。我尝试将英文维基百科数据库导入MYSQL数据库,但每次导入的数据库都没有完成。然后我发现这是因为导入时发生了错误。通常,此错误为:“键“PRIMARY”的重复条目”。解决这个问题最简单的方法是使用任何IDE编辑mwdumper的代码,您会发现在第223行的文件“SqlWriter.java”中有一个查询,将其编辑为“INSERT IGNORE INTO”。这将解决问题。此外,如果从页表中的页id中删除主键,也会有所帮助。