dakata__92
Super Moderator
Здравейте,
Преди време разписах една опростена търсачка във файлове. Файловете са много и няма възможност да се прехвърлят в база данни.
Как мога да ускоря търсенето в тях? Говоря за около 200 000 файла с по над 300 000 записа.
Впрочем това е най-базистният вариант на търсачката. Идеята е да ми връща всички съвпадащи със стринга резултати. Чудех се за някакво подобрение със shell или нещо от сорта, но реших първо да се консултирам с вас.
Преди време разписах една опростена търсачка във файлове. Файловете са много и няма възможност да се прехвърлят в база данни.
Как мога да ускоря търсенето в тях? Говоря за около 200 000 файла с по над 300 000 записа.
Код:
<?php
$filePath = 'test.txt';
$string = '';
$returnArray = [];
$file = file($filePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach ($file as $k => $row) {
if (stripos($row, $string) !== false) {
$returnArray[$k] = $row;
}
}