スフィンクス検索エンジンのインデックス作成をテストできるように、100 MBまたは数GBのテキスト、10.000.000にテキストの行が含まれる本当に大きなデータベースの.sqlファイルはどこにありますか
ダウンロードにそのような時間を本当に使いたい場合は、 Wikipedia dumps -「警告:6.07 GB圧縮、2010-09-20時点で約27 GB非圧縮」へのリンクがあります(そして、まだonly3,428,557記事)
簡単なPHPスクリプトを作成します(空のDBを作成し、$db_user
CREATE + INSERT特権を一時的に付与し、スクリプトに構成変数を設定します):
<?php
$db_Host = '127.0.0.1';
$db_name = 'testing';
$db_user = 'root';
$db_pass = '';
$entries = 10000000;
$entry_words_min = 250;
$entry_words_max = 1000;
/*
End configuration
*/
function get_Rand_Word( $len_min, $len_max ) {
for ( $i = 0; $i < ( Rand( 0, $len_max - $len_min ) + $len_min ); $i++ ) {
$Word .= chr(Rand(65, 90));
}
return $Word;
}
function get_title() {
for ( $i = 0; $i < ( Rand( 4, 10 ) ); $i++ ) {
$title .= get_Rand_Word( 2, 9 ) . ' ';
}
return $title;
}
function get_fulltext() {
for ( $i = 0; $i < ( Rand( 250, 500 ) ); $i++ ) {
$fulltext .= get_Rand_Word( 2, 9 ) . ' ';
}
return $fulltext;
}
$dsn = 'mysql:dbname=' . $db_name . ';Host=' . $db_Host;
try {
$dbh = new PDO($dsn, $db_user, $db_password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
die();
}
$dbh->query('CREATE TABLE IF NOT EXISTS `sphinx` (
`id` int(10) unsigned NOT NULL auto_increment,
`title` varchar(150) collate utf8_bin NOT NULL,
`fulltext` text collate utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin');
$sth = $dbh->prepare('INSERT INTO `sphinx` (`title`,`fulltext`) VALUES (:title, :fulltext)');
$counter = 0;
for ( $i = 0; $i < $entries; $i++ ) {
$sth->execute(array(
':title' => get_title(),
':fulltext' => get_fulltext()
));
$counter++;
}
echo $counter . ' rows inserted';
?>
注:おそらく、PHP環境設定を変更するか、このスクリプトを実行するためにエントリ数を微調整する必要があります...
danlefreeの優れた答え 、に加えて、すべてのテキストを見つけることができます ここのStack Overflowネットワーク上 。 MSSQLサーバーを使用している場合、このデータセットはインポートが簡単な場合があります(スタックオーバーフローはMSSQLを使用するため)。
多くの場合、 GenerateData.com を使用します。これには、使用できるデータタイプが多く、CSVなどのSQLコードを生成できます。 、しかし。