myweb
Среда обитания WEB
- Регистрация
- 10 Сен 2007
- Сообщения
- 545
- Реакции
- 250
- Автор темы
- #1
Нашол класс на PHP : Алгоритм Шинглов - определяем уникальность текста
работает нормально НО очень медленно проверка 5 записей занимает 100 сек за условия что в базе 13000 записей.
Возможно есть лучшие реализации?
Вот мой код
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
работает нормально НО очень медленно проверка 5 записей занимает 100 сек за условия что в базе 13000 записей.
Возможно есть лучшие реализации?
Вот мой код
PHP:
$setting = parse_ini_file($_SERVER["DOCUMENT_ROOT"].'/lib/shingles.ini');
$arr=array();
$result = mysql_query("SELECT id,text FROM msg");
while ($info = mysql_fetch_array($result)){$arr[$info['id']]= $info['text'];}
$shingles = new Shingles($setting);
foreach ($arr as $key1 => $value1) {
$shingles->setText($value1,0);
foreach ($arr as $key2 => $value2) {
if ($key1 != $key2){
$shingles->setText($value2,1);
$p = $shingles->compaire($shingles->getShigles());
if ($p>0) echo $p.' % #'.$key1.' #'.$key2.'<br>';
flush();
}
}
}