Untitled
unknown
php
2 years ago
962 B
9
Indexable
<?php
include __DIR__ .'/vendor/autoload.php';
$db = new Pdo('mysql:host=db;dbname=test', 'root', 'root');
$data = $db->query('SELECT * FROM data');
$input = [
'Endrőd',
'Béláné',
'Budapest'
];
$i = 0;
use FuzzyWuzzy\Fuzz;
use FuzzyWuzzy\Process;
$fuzz = new Fuzz();
$results = [
];
$start = microtime(true);
while ($row = $data->fetch(PDO::FETCH_NUM)) {
$text = implode(' ', [
$row[1],$row[2], $row[3]
]);
$ratio = $fuzz->ratio($text, implode(' ', $input));
if ($ratio > 85) {
$results[] = [
'ratio' => $ratio,
'found' => $text
];
}
if ($i % 10000 === 0) {
echo $i . " checked\n";
}
$i++;
}
$end = number_format(microtime(true) - $start, 4);
echo "\n\nSearched: " . implode(' ', $input) . "\n";
echo "Run time: " . $end . "\n";
foreach ($results as $result) {
echo "\t ratio:" . $result['ratio'] . "\t" . $result['found'] . "\n";
}Editor is loading...
Leave a Comment