Esempio n. 1
0
        return $reversed->limit($limit);
    } else {
        // trailing wildcard
        $straight = $tries['trie']->search(strtolower($terms[0]));
        return $straight->limit($limit);
    }
}
/* Populate the trie  */
$startTime = microtime(true);
$tries = buildTries(__DIR__ . '/../data/dictionary.json');
$endTime = microtime(true);
$callTime = $endTime - $startTime;
echo 'Load Time: ', sprintf('%.4f', $callTime), ' s', PHP_EOL;
echo 'Current Memory: ', sprintf('%.2f', memory_get_usage(false) / 1024), ' k', PHP_EOL;
echo 'Peak Memory: ', sprintf('%.2f', memory_get_peak_usage(false) / 1024), ' k', PHP_EOL, PHP_EOL;
/* Search for the requested terms */
$startTime = microtime(true);
$searchResult = searchTries($searchTerm, $tries, $limit);
if ($searchResult->count() == 0) {
    echo 'No matching words found', PHP_EOL;
} else {
    foreach ($searchResult as $word => $value) {
        echo $word, PHP_EOL;
    }
}
echo PHP_EOL;
$endTime = microtime(true);
$callTime = $endTime - $startTime;
echo 'Search Time: ', sprintf('%.4f', $callTime), ' s', PHP_EOL;
echo 'Current Memory: ', sprintf('%.2f', memory_get_usage(false) / 1024), ' k', PHP_EOL;
echo 'Peak Memory: ', sprintf('%.2f', memory_get_peak_usage(false) / 1024), ' k', PHP_EOL;
Esempio n. 2
0
        return $tries['rtrie']->search(strrev(strtolower($terms[1])))->reverseKeys()->limit($limit);
    } else {
        // trailing wildcard
        return $tries['trie']->search(strtolower($terms[0]))->limit($limit);
        return $straight;
    }
}
/* Populate the trie  */
$startTime = microtime(true);
$tries = buildTries(__DIR__ . '/../data/dictionary.json');
$endTime = microtime(true);
$callTime = $endTime - $startTime;
echo 'Load Time: ', sprintf('%.4f', $callTime), ' s', PHP_EOL;
echo 'Current Memory: ', sprintf('%.2f', memory_get_usage(false) / 1024), ' k', PHP_EOL;
echo 'Peak Memory: ', sprintf('%.2f', memory_get_peak_usage(false) / 1024), ' k', PHP_EOL;
/* Search for the requested terms */
$startTime = microtime(true);
$words = searchTries($searchTerm, $tries, $limit);
if (count($words) > 0) {
    foreach ($words as $word) {
        echo $word, PHP_EOL;
    }
} else {
    echo 'No matches found', PHP_EOL;
}
echo PHP_EOL;
$endTime = microtime(true);
$callTime = $endTime - $startTime;
echo 'Search Time: ', sprintf('%.4f', $callTime), ' s', PHP_EOL;
echo 'Current Memory: ', sprintf('%.2f', memory_get_usage(false) / 1024), ' k', PHP_EOL;
echo 'Peak Memory: ', sprintf('%.2f', memory_get_peak_usage(false) / 1024), ' k', PHP_EOL;