In the spirit of fuzzy searches I'm going to make a fuzzy proposal ;-)
I think the fuzzy aproach Ian suggests is a very prommising way to handle
the routing of search requests.
However perhaps there are some things we could do to increase the quality of
results.
This is something I've been toying with in my mind so I'll try to put it in
writing.
I feel a lot could be gained if we don't regard a search record (the
combination of key-value pairs and a URI.) as atomic but rather as an
evolving object.
What I suggest is we regard the key-value list as a kind of datastore.
What would happen in a typical search is the key-value pairs that match the
search get promoted to the top of the list, sorted on how well they match.
when the query is forwarded, the (best) matching search records are also
sent along so they can be added to the receiving node or incorporated into
the search records already present.
This could also be the way to insert new search records.
How this incorporating should work is open for debate, but I would suggest
only regard the most popular searchterms, (say the top half of the list) and
if they don't already exist place them into the bottem half of the list
already held on the node.
There has to be a setting for the maximum number of key-value pairs and/or a
maximum size for search record.
so the bottom searchterm's get dropped from the list if there isn't enough
room.
This would mean a node would only contain one search record per URI
containing only the most popular search terms.
Neil
_______________________________________________
Devl mailing list
Devl at freenetproject.org
http://lists.freenetproject.org/mailman/listinfo/devl