プロフィール

ゆうと

Author:ゆうと

職業:携帯サイトコンサルタント兼フリーエンジニア
503iの時代から携帯サイトの開発にたづさわり、携帯サイトの特性やSEO/SEM、モバイル広告など経験をいかし、プロが作る携帯サイトを実践中。

「みんなのモバイル」を運営てます
http://goo.to/
携帯サイト運営でお困りの方、携帯SEOでお困りの方、システムで困っている方、気軽にご相談ください。



お財布.com - 無料で手軽に貯まる魔法のお財布
ページランク

カテゴリー


ブロとも申請フォーム

この人とブロともになる

携帯サイトを運営している人お友達になりましょう

フリーエリア


最近の記事


月別アーカイブ


ブログランキング


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


DATE: CATEGORY:wikipediadata
wikipedia のdata情報をダウンロードして利用する方法


wikipedia の情報は無料で配布されています。

■wikipediaの情報のダウンロード方法

Wikipedia:データベースダウンロード
日本語のサイトから、データをダウンロードしてきます。
日本語版:wikipedia
latest(最新)ディレクトリ内の
jawiki-latest-pages-meta-current.xml.bz2 をダウンロードする。だいたい1.2Gほど。

wget http://download.wikimedia.org/jawiki/latest/jawiki-latest-pages-meta-current.xml.bz2

WikipediaのXMLファイルをMySQLデータベースにインポートするには、MediaWiki配布物に含まれるimportDump.phpスクリプトを使用します。
が、こちらのスクリプトで実行するとやや時間がかかるので、今回は、xml2sqlを使ってインポートする
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


インポートする前に、インポート先のデータベース作成します。
データを入れる前にテーブルを作成します。

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;



さっそく、mysqlの形式に変換。
# bunzip2 -c jawiki-latest-pages-meta-current.xml.bz2 | xml2sql

するとエラーが・・・
unexpected element <redirect>
xml2sql: parsing aborted at line 657 pos 16.

対処方法は、こんな感じ
# bzcat jawiki-latest-pages-meta-current.xml.bz2 | sed -e 's/<redirect \/>//' | xml2sql


サーバのスペックにもよるが、CPUやロードアベレージはあまり使用しない。
約1時間半くらいで実行が終了。

では、インストール開始。
mysqlimport -u username corpus /datadir/*.txt

mysqlimport: Error: Duplicate entry '2-' for key 2, when using table: page
データが重複するとエラーがでます。
forceオプションをつけてエラーを無視します。

mysqlimport -f -u username corpus /datadir/*.txt

インストールは、無事に終了。

次回は、実際のサービスでの利用方法について、記載します。
スポンサーサイト


テーマ : 携帯サイト - ジャンル : 携帯電話・PHS

コメント

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © みんなのケータイブログ -携帯マーケティング/携帯SEO/最新携帯サイト情報- all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。