Вопрос
У меня была идея поисковой системы, которая индексировала бы веб-элементы, как это делают сейчас другие поисковые системы, но сохраняла бы только название файла, URL и хэш содержимого.
Таким образом, было бы легко находить товары в Интернете, если они у вас уже были и вы не знали, откуда они взялись, или хотели бы знать все места, где что-то появлялось.
Более полезен для нетекстовых элементов, таких как изображения, исполняемые файлы и архивы.
Мне было интересно, есть ли уже что-то подобное?
Решение
Проверьте страница Википедии о хешировании, учитывающем локальность.Есть также хорошая страница, размещенная исследователем Массачусетского технологического института.
В общем, доступно несколько вкусов:хэши для строк (например, симхаш), наборы или функции 0/1 (такие как минимальные хэши), и для вещественных векторов.
Основной трюк для числовых хэшей в основном заключается в уменьшение размеров, пока что.Для строк идея состоит в том, чтобы создать представление, надежное перед лицом незначительных изменений.
Я также провожу небольшое исследование в этой области, хотя и предполагаю, что stackoverflow может оказаться неподходящим местом для зарождающейся работы.
Другие советы
Ну, что касается изображений, то здесь есть [http://tineye.com /][1], который дополнит это и тоже найдет вам похожие изображения.
[1]: http://tineye.com/ оловянный глаз
Вопрос, похоже, сосредоточен на хэшах точного соответствия, которые мы понимаем лучше, чем подходы ближайших соседей, и которые действительно стоят того, особенно если люди могут таким образом обмениваться тегами и другими метаданными.
Как отмечает @rjmunro, поиск на основе хэша является популярной идеей в мире P2P, и Bitzi в значительной степени сделала это, хотя они закрылись, и их Bitpedia (цифровая медиа-энциклопедия) там больше не размещена, хотя, по крайней мере, часть из них все еще доступна по адресу Archive.org .
Bitzi также выпускала программное обеспечение, такое как Биткоколлайдер (SourceForge.net), и Схема URI магнита, который позволяет указать файл по хэшу и, таким образом, является идентификатором на основе содержимого.Различные приложения поддерживают поиск в различных базах данных с помощью магнитных URI, как описано на этой странице Википедии.
Та же идея популярна в сцене взлома паролей - см., например, findmyhash - скрипт на Python для взлома хэшей с помощью онлайн-сервисов и т.д.
Идя еще дальше, я думаю, было бы здорово, если бы существовали базы данных и онлайн-хранилища, идентифицирующие контент по хэшу и предоставляющие Теги и другие метаданные о содержании с разных точек зрения.Тогда я мог бы оставить свою музыкальную коллекцию в первозданном виде (не тратя впустую пространство и время для резервного копирования), но по-прежнему помечать их самостоятельно и добавлять другие метаданные через внешние базы данных тегов.Если бы мои приложения знали, как захватывать теги, это казалось бы намного лучше, чем текущая система, где мы изменяем и копируем большие файлы только для перемещения тегов, напримерс моего рабочего стола на мой телефон.
Смотрите соответствующую идею по адресу Независимое от метаданных хеширование для идентификации носителей и оптимизации P2P-передачи (pdf).
Это неплохая идея.Иногда я натыкаюсь на какой-нибудь файл, пытаясь выяснить, откуда он взят :) Но как вы собираетесь отслеживать источники элемента?Контент можно получить различными способами - веб-браузером, менеджером загрузок, простым копированием с общего сетевого ресурса.
Если я правильно понимаю ваше предложение, http://bitzi.com/ делал это уже некоторое время.