- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день
Подскажите пожалуйста как сделать проверку хеша.
Есть такой хеш. Например
10010001111001....
всего 64 символа. они будут записываться в базу данных. строк будет много. тисяч 10.
потом после определенного действия я получаю новый хеш. и мне его нужно сверить с теми что в базе. и вывести те что больше всего близки к нему.
сравнение идет таким образом.
число х=64 (так как хеш 64 символа). дальше
первый символ хеша 1 сравниваем с первым символом хеша 2 --- и если не совпадение то х уменьшаем на 1
второй символ хеша 1 сравниваем с вторым символом хеша 2 --- и если не совпадение то х уменьшаем на 1
и т д
ето так бы мы сравнивали на php. а как ето организовать в базе данных я не знаю. брать все подряд из нее и сверять навернека это будет долго
БД для хранения данных, а не для вычислений. Делайте на PHP.
придется
думал разбить этот хеш по 4 символа и записать в бд в поле с индексом FULLTEXT
а потом искать как полнотекстовый поиск. но оказалось что match against не всегда ищет числа по 4 символа.
вариант для извращенцев:
поставить elasticsearch, сделать индекс и на поле с хэшами поставить ngram=1
a алгоритм, который вы используете, называется "Расстояние Левенштейна"
1. хранить свои 64 бита в формате BIGINT
2. вычисления провозить через BIT_XOR + BIT_COUNT
1. хранить свои 64 бита в формате BIGINT
2. вычисления провозить через BIT_XOR + BIT_COUNT
Этот совет прям в точку. Вы просто гений. По больше б таких людей на форуме. И скорость прям летает.
Посвятите пожалуйста, в каком случае нужна проверка на схожесть хэша? Мне до сих пор была нужна только абсолютная идентичность ключей.
Ведь схожесть хэша совсем не значит схожесть контента.
Посвятите пожалуйста, в каком случае нужна проверка на схожесть хэша? Мне до сих пор была нужна только абсолютная идентичность ключей.
Ведь схожесть хэша совсем не значит схожесть контента.
у меня это используется для сравнения изображений. есть сайт с обоями на рабочий стол. дабы не грузить одинаковые - делаю проверку схожести. использую PHasher для создания хеша. результат более менее нормальный.
можно картинке изменить качество или даже обрезать(но не слишком) и скрипт ищет похожие.
правда не всегда получается ожидаемый результат. но если с изображением не слишком поиздевались то и так очень даже ничего.