◆wikipediaのデータのダウンロード
日本語のサイトから、データをダウンロードしてきます。
http://download.wikimedia.org/jawiki/
pages-articles.xml.bz2 現在の版のXMLダンプ をダウンロードする
XML形式なので、xml2sqlを利用して、mysqldump 形式にデータを変換。
$wget ftp://ftp.tietew.jp/pub/wikipedia/xml2sql-0.5.tar.gz
$tar xzvf xml2sql-0.5.tar.gz
$cd xml2sql-0.5
$./configure
$make
$sudo make install
通常では、これで正常にインストールできるのですが、
configure: error: expat 1.95.8 or later is required.
こんなエラーが場合によっては、こんなエラーがでます。
configureファイルを解析すると原因は分かるのですが、
--with-expat=DIRECTORY でPATHをしていしてあげると解消されました。
$bunzip2 -c jawiki-latest-pages-meta-current.xml.bz2 | xml2sql
データを入れる前にテーブルを作成します。
create database corpus;
use corpus;
CREATE TABLE page (
page_id int unsigned NOT NULL auto_increment,
page_namespace int NOT NULL,
page_title varchar(255) binary NOT NULL,
page_restrictions tinyblob NOT NULL,
page_counter bigint unsigned NOT NULL default '0',
page_is_redirect tinyint unsigned NOT NULL default '0',
page_is_new tinyint unsigned NOT NULL default '0',
page_random real unsigned NOT NULL,
page_touched binary(14) NOT NULL default '',
page_latest int unsigned NOT NULL,
page_len int unsigned NOT NULL,
PRIMARY KEY page_id (page_id),
UNIQUE INDEX name_title (page_namespace,page_title),
-- Special-purpose indexes
INDEX (page_random),
INDEX (page_len)
);
CREATE TABLE revision (
rev_id int unsigned NOT NULL auto_increment,
rev_page int unsigned NOT NULL,
rev_text_id int unsigned NOT NULL,
rev_comment tinyblob NOT NULL,
rev_user int unsigned NOT NULL default '0',
rev_user_text varchar(255) binary NOT NULL default '',
rev_timestamp binary(14) NOT NULL default '',
rev_minor_edit tinyint unsigned NOT NULL default '0',
rev_deleted tinyint unsigned NOT NULL default '0',
rev_len int unsigned,
rev_parent_id int unsigned default NULL,
PRIMARY KEY rev_page_id (rev_page, rev_id),
UNIQUE INDEX rev_id (rev_id),
INDEX rev_timestamp (rev_timestamp),
INDEX page_timestamp (rev_page,rev_timestamp),
INDEX user_timestamp (rev_user,rev_timestamp),
INDEX usertext_timestamp (rev_user_text,rev_timestamp)
) MAX_ROWS=10000000 AVG_ROW_LENGTH=1024;
CREATE TABLE text (
old_id int unsigned NOT NULL auto_increment,
old_text mediumblob NOT NULL,
old_flags tinyblob NOT NULL,
PRIMARY KEY old_id (old_id)
) MAX_ROWS=10000000 AVG_ROW_LENGTH=10240;
http://ke-tai.org/blog/2008/04/17/modifyheaders/
FireFoxのプラグインなのですが、ヘッダー情報を偽装することが可能です
DoCoMoの場合は、X-DCMGUID
EZの場合は、X-UP-SUBNO
を偽装す方法が掲載されています。
便利です