Есть некий парсер на php который собирает данные с сайтов. Задача сравнить исходные коды анализируемых сайтов на схожесть в %, для поиска сайтов сделанных по одному шаблону.
В данный момент реализовал так:
Сохраняю в базу исходный код каждой каждого сайта и сравниваю со всеми имеющимися с помощью стандартной функции similar_text. С задачей она справляется и точность достаточно высокая, НО! ввиду сложности алгоритма этой функции она очень долго работает и "отжирает" весь процессор, соответственно когда сайтов стало больше 1000, время работы и нагрузка на сервер сильно увеличились.
Вопрос:
Существуют ли упрощенные реализации similar_text() на php или какие-то другие методы, или есть ли возможность сделать такое сравнение сразу в mysql?
Спасибо!
В документации говорится, что similar_text
работает за O(n3).
Расстояние Левенштейна (levenshtein
) работает за O(n2), что существенно быстрее, но может быть по-прежнему недостаточно быстро. Думаю, гораздо эффективнее будет применить расстояние Левенштейна не на символах, а на токенах, только это придётся реализовать самостоятельно. Возможно даже, что это будет уже достаточно быстро, а может и нет.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
***Помогите решить проблему: Ввожу кол-во задач больше 2 и у меня начинается бесконечный циклЯ только обучаюсь, но не пойму в чем проблема в этой...
Изучаю классы в C++В следующем коде я хочу реализовать общую функцию updateAge(), которая у каждого элемента класса People (т
Я создаю в QTabWidget динамические табы, в котором есть динамически созданные QLabel-ыУ каждого QLabel есть свой номер