Last active
December 29, 2015 05:09
-
-
Save naoa/7620093 to your computer and use it in GitHub Desktop.
This script has the feature that select full text search from line text in text_file. %php wiki_fts_1.php <database> <text_file> <output_file>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$db = "127.0.0.1"; | |
$db_name = $argv[1]; | |
$table = "text"; | |
$index = "title,text"; | |
$username = "mysql"; | |
$password = ""; | |
$category_file = $argv[2]; | |
$output_file = $argv[3]; | |
$con = mysql_connect($db, $username, $password); | |
if (!$con) { | |
exit('Database connection error'); | |
} | |
$result = mysql_select_db($db_name, $con); | |
if (!$result) { | |
exit('Database select error'); | |
} | |
$fp = fopen($category_file, 'r'); | |
$fw = fopen($output_file, 'a+'); | |
while (!feof($fp)){ | |
$line = fgets($fp); | |
$line = str_replace(array("\r\n","\r","\n"),'',$line); | |
$startTime = microtime(true); | |
$query = "SELECT COUNT(*) as cnt FROM $table WHERE MATCH($index) AGAINST('$line' IN BOOLEAN MODE);"; | |
$result = mysql_query($query, $con); | |
if(!$result){ | |
echo "SELECT ERROR aborted" . "\n"; | |
$con = mysql_close($con); | |
if (!$con) { | |
echo 'Database close error'; | |
} | |
fclose($fp); | |
fclose($fw); | |
exit; | |
} | |
while ($item = mysql_fetch_array($result)){ | |
$cnt = $item['cnt']; | |
} | |
$endTime = microtime(true); | |
$elapsedTime = $endTime - $startTime; | |
//echo $line . "," . $cnt . "," . $elapsedTime . "\n"; | |
fwrite($fw,$line . "," . $cnt . "," . $elapsedTime . "\n"); | |
} | |
$con = mysql_close($con); | |
if (!$con) { | |
exit('Database close error'); | |
} | |
fclose($fp); | |
fclose($fw); | |
echo "Done.\n"; | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment