<p>I had the idea of a search engine that would index web items like other search engines do now but would only store the file's title, url and a hash of the contents.</p>

<p>This way it would be easy to find items on the web if you already had them and didn't know where they came from or wanted to know all the places that something appeared.</p>

<p>More useful for non textual items like images, executables and archives.</p>

<p>I was wondering if there is already something similar?</p>

[{'answer_id': 50926, 'author': 'zigdon', 'author_id': 4913, 'author_profile': 'https://Stackoverflow.com/users/4913', 'pm_score': 1, 'selected': False, 'text': '<p>Well, for images, there\'s <a href="https://tineye.com" rel="nofollow noreferrer">http://tineye.com</a>, which will one-up that, and find you similar images too.</p>\n'}, {'answer_id': 50939, 'author': 'aku', 'author_id': 1196, 'author_profile': 'https://Stackoverflow.com/users/1196', 'pm_score': 0, 'selected': False, 'text': "<p>It's not a bad idea. Sometimes I find myself stumbled upon some file trying to figure out where it comes from :) But how are you going to track item's sources? Content can be obtained by various means - web browser, download manager, simply by copying from network share.</p>\n"}, {'answer_id': 50975, 'author': 'Tyler', 'author_id': 3561, 'author_profile': 'https://Stackoverflow.com/users/3561', 'pm_score': 3, 'selected': True, 'text': '<p>Check out <a href="http://en.wikipedia.org/wiki/Locality_sensitive_hashing" rel="nofollow noreferrer">the wikipedia page on locality sensitive hashing</a>.  There\'s also <a href="http://www.mit.edu/~andoni/LSH/" rel="nofollow noreferrer">a good page hosted by a research on MIT</a>.</p>\n\n<p>In general, there are several flavors available: hashes for strings (such as <a href="http://scholar.google.com/scholar?hl=en&amp;lr=&amp;cluster=2077823906332929131" rel="nofollow noreferrer">simhash</a>), sets or 0/1 features (such as <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.9451" rel="nofollow noreferrer">min-wise hashes</a>), and for real vectors.</p>\n\n<p>The main trick for numerical hashes is basically <a href="http://en.wikipedia.org/wiki/Dimension_reduction" rel="nofollow noreferrer">dimension reduction</a>, so far.  For strings, the idea is to come up with a representation that\'s robust in the face of minor edits.</p>\n\n<p>I\'m also doing a little research in this field, although I guess stackoverflow might not be the right place for nascent work.</p>\n'}, {'answer_id': 50994, 'author': 'rjmunro', 'author_id': 3408, 'author_profile': 'https://Stackoverflow.com/users/3408', 'pm_score': 0, 'selected': False, 'text': '<p>If I understand your proposal right, <a href="http://bitzi.com/" rel="nofollow noreferrer">http://bitzi.com/</a> has done this for a while.</p>\n'}, {'answer_id': 24346898, 'author': 'nealmcb', 'author_id': 507544, 'author_profile': 'https://Stackoverflow.com/users/507544', 'pm_score': 1, 'selected': False, 'text': '<p>The question seems to focus on exact match hashes, which we understand better than nearest-neighbor approaches, and are indeed worthwhile, especially if people can share tags and other metadata that way.</p>\n\n<p>As @rjmunro notes, hash-based searching is a popular idea in the P2P world, and Bitzi did pretty much this, though they have shut down and their Bitpedia (Digital Media Encyclopedia) isn\'t hosted there any more, though some of it at least is still available at Archive.org.</p>\n\n<p>Bitzi also produced software like <a href="http://sourceforge.net/projects/bitcollider/" rel="nofollow">Bitcollider (SourceForge.net)</a>, \nand the <a href="https://en.wikipedia.org/wiki/Magnet_URI_scheme" rel="nofollow">Magnet URI scheme</a>, which allows for specifying a file by hash and is thus a content-based identifier.  Various applications support searching at various databases via Magnet URIs as described at that Wikipedia page.</p>\n\n<p>The same idea is popular in the password-cracking scene - see e.g. <a href="https://code.google.com/p/findmyhash/" rel="nofollow">findmyhash - Python script to crack hashes using online services</a> etc.</p>\n\n<p>Going a step further, I think it would be great if there were databases and online repositories identifying content by hash and providing <strong>tags</strong> and other <strong>metadata</strong> about the content from various perspectives.  Then I could leave my music collection in its pristine state (no wasted backup space and time), but still tag them myself and add other metadata, via external tag databases.  If my applications knew how to grab the tags, it would seem much better than the current system where we modify and copy around big files just to move tags from e.g. my desktop to my phone.</p>\n\n<p>See a related idea at <a href="http://www.tara.tcd.ie/xmlui/bitstream/handle/2262/66996/paper_final-july2012.pdf" rel="nofollow">Metadata Independent Hashing for Media Identification &amp; P2P Transfer Optimisation</a> (pdf).</p>\n'}]
['https://Stackoverflow.com/questions/50914', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/2118/']