« RFC: wiki naming system | Main | wiki naming solved »


Kragen Sitaker

Very nice! What are you planning to do for queries?



The system will provide three fundamental ways to do basic queries, that correspond closely to user interface views:

1.) topic-based access: show me all pages with a given topic (where the topic is the slug/short title of a page).

2.) time-based access: show me the most recently changed pages as a paged list.

3.) fuzzy full-text access: show me all pages based on relevance to a search query.

Now, all of these access mechanisms are parametrizable with a second axis: in each method, you can define whether you want to see results from A) all users, B) a single user's whole dataset, or C) a single dataset (wiki, blog, project...) of a single user.

For example, you can say "show me recently changed pages by user U in his wiki (but not in his other datasets)", and "show me all pages with the topic T by all users", etc.

All pages returned by a query contain the typed backlinks/inverse fields from other pages to that page.

I developed a system similar to this as a bug tracking system once, and it was already extremely useful (especially the backlinks), much more than conventional bug trackers.

Of course, more structured queries would be nice, and the Google Base Query Language would seem a perfect fit. This could probably be translated to Lucene queries in many cases.

However, I know how to implement the above basic queries efficiently, but I don't know if I have the computational resources for the more general Base queries. I should take a second look at the Partial Match Index.

louboutin heels

with those filthy spammers putting links on my blogs. It’s just not being lazy moderating but I just don’t have time moderating.

The comments to this entry are closed.