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

Reply via email to