Hi All, One of the main issues that concerns me right now is that of searching Freenet (along with updating data which is awaiting a good simulation platform to test out different ideas).
For those of you who are Java coders, but who are daunted by the present complexity of the code, this is an ideal opportunity to get involved as the Freenet.search package will be reasonably self-contained (although obviously it will need to be integrated with the rest of Freenet in some places, particularly the DataStore). I have created a new package called Freenet.search which I have begun to populate with the classes required for a "fuzzy" searching mechanism which will allow "yahoo" or "altavista" style "x and y not z" style queries. The mechanism I suggest has the advantage of being along similar lines to the current mechanism through which data is found. Basically the query can be applied to any key, and given a score between 0 and 1 based on to what extent the query matches the string. An exact match would be 1, and any other would be somewhere between 0 and 1. A node, on receiving such a query, will apply it to all "searchable" keys it contains (since there would be little point in searching hashed keys), and forward it to whichever node corresponded to the highest scoring key. In the event of a timeout, the best score will be noted, and when a node passing back the timeout notices that it was it which had the best scoring key, would pass it back. Rather than actually storing the data with the searchable key, a reference to a CHK (or other no-choice key type) would be returned which could then be requested. This helps to address the problem that we no longer have the luxury that people can't easily tell what data is being stored on their nodes, however since the searchable stuff is so small it can be much more widely distributed than the data itself making it much more robust against selective censorship. Note that searchable keys and the data they contain (albeit a short reference) will be treated just the same as normal keys (in terms of caching etc). Ian. _______________________________________________ Freenet-dev mailing list Freenet-dev at lists.sourceforge.net http://lists.sourceforge.net/mailman/listinfo/freenet-dev
