Я не могу понять Ваш вопрос!
И не могу понять что я должен из вашего примера сделать, точнее как он поможет собрать массив и проверить!
Сервер после нескольких секунд (примерно 5-6 сек) отвечает 502 Bad Gateway
К тому, Вы выше написали, что я храню в базе изображения.
Вот как делаю я! Но проц не выдерживает, вот я и ищу способ это оптимизировать.
$sql_select = "SELECT signature FROM images WHERE signature != ''";$sql_result = $db->query( $sql_select ); while ( $row = $db->get_row( $sql_result ) ) { $sig[] = $row; }$sig2 = $sig; // скопируем массив
Я собрал массив, дальше я прохожу массив сраниваю значения
foreach($sig as $value1) { unset($$sig2[$value1['signature']]); foreach($sig2 as $value2) { # вычисление разности изображения по сигнатурам $r_sig = puzzle_vector_normalized_distance($value1['sig'], $value2['sig']); # округлим разность в проценты $diff = round($r_sig * 100); # Определим похожесть изображений $img_true = ($r_sig <= 0.20) ? "Похожа" : "Не похожа"; echo $img_true; } }
Mad_Man, в базе хранится буквеный код изображения, состоящий из 150 символов, который вычисляет библиотека libpuzzle, чем к примеру эти 150 символов отличаются от к примеру 150 символов описания товара?
Друзья, в значении хранится текстовый код изображения, вот эти коды и сравниваются на похожесть кодов, вот так
сначала получаем и сравниваем sig1 и sig2, mysql такого сравнения не сделает, это функция библиотеки php
$r_sig = puzzle_vector_normalized_distance($value1['sig'], $value2['sig']); echo $r_sig
и так до тех пор пока sig1 не пройдет все значения
после чего sig2 начинает также проходить по все проверкам и так пока не закончится
подобный механизм выполняется 1-2 раза в месяц
Это сравнивание проверяет схожесть значения в %, тоесть какой процент схожести значения с значением если значение превышает 10% значит дубль
Зарегился, провожу тест, обязательно отпишусь.
Яндекс раздает подарки к Новому Году :)
Добавил сайты, начал парсить данные, спарсило все, кроме количества страниц по яндексу + показывает, что все сайты в яндекс каталоге, думаю может ограничения какие, иду на сайт продлеваю подписку, оплачиваю деньги, жму снова проверить а результат тот же, и как быть?