Hvor kan jeg finne virkelig store databaser. SQL-filer med 100 MB eller noen få GB tekst, 10.000.000 pluss rader med tekst, slik at jeg kan teste indeksering av min sfinx-søkemotor

Hvis du virkelig vil bruke den slags tid på nedlasting, er det en lenke til Wikipedia-dumpene - "ADVARSEL: 6,07 GB komprimert, omtrent 27 GB ukomprimert fra og med 2010-09-20" (og du vil fortsatt ha kun 3.428.557 artikler)

Her er et raskt PHP-skript som vil lage et for deg (bare lag en tom DB, tildel midlertidig $db_user CREATE + INSERT privilegier, og fyll ut konfigurasjonsvariablene i skriptet):

<?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 ) { $word = ''; for ( $i = 0; $i < ( rand( 0, $len_max - $len_min ) + $len_min ); $i++ ) { $word .= chr(rand(65, 90)); } return $word; } function get_title() { $title = ''; for ( $i = 0; $i < ( rand( 4, 10 ) ); $i++ ) { $title .= get_rand_word( 2, 9 ) . ' '; } return $title; } function get_fulltext() { $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_pass); } 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';  ?> var13 ->

Merk: Du må sannsynligvis endre PHP-miljøkonfigurasjonen eller justere antall oppføringer for å kjøre dette skriptet ...

I tillegg til danlefrees utmerkede svar, du finner all tekst i Stack Overflow-nettverket her. Hvis du bruker en MSSQL-server, kan dette datasettet være enklere å importere (siden Stack Overflow bruker MSSQL).

  • Hvor kan man lære mer om SE-implementering? Er det åpen kildekode?
  • 1 @Chris: No Stack Overflow / Stack Exchange er ikke åpen kildekode, bare det brukergenererte innholdet er Creative Commons Wiki-lisensiert. Prøv blog.stackexchange.com

Jeg bruker ofte GenerateData.com, som har mange datatyper du kan bruke, og som kan generere SQL-kode i tillegg til CSV osv. Vet ikke hvor godt (eller om) det ville håndtere millioner av rader, skjønt.

fungert for deg: Charles Robertson | Ønsker du å kontakte oss?

nyttig informasjon