On Wed, Dec 3, 2008 at 12:37 PM, Aerik Sylvan <aerik(a)thesylvans.com> wrote:
[snip]
But it sounds like maybe those of us who'd like to
see this happen should
discuss a UI (or several) for it. I was thinking the most intuitive
interface was a sort of "browse" type function, where for any given group
of categories (could just be one category), you have two result sets:
related categories (other categories of pages in the starting category),
and articles at the intersection of the group. The articles are what we
generally think of, but the related categories gives us an intuitive way to
navigate through category intersections.
The articles in the group of categories are the problem we've already solved
(mostly): they are the result from the fulltext or lucene search. The
related categories problem is harder,
[snip]
So an interface I had that was really pleasing was that I asked the
database to find a random subset of the results, which it could do
quickly, (or I used the whole results if the initial query contained
them) and I found the set of categories which maximally bisected the
result and presented the list with a set of +/- buttons.
I.e. you search for Animal and you'd get:
Mammal[+/-] Reptile[+/-] Kittens[+/-] Taken with Canon Camera[+/-] Human[+/-]
based on the how close to 50% of the results have the suggested category.
It's not exactly a 'related category', but I thought it was very useful.
I also did a fuzzy text matching search one the category names using a
trigram index, so it was always sure to suggest Category:Cats when you
searched for Cat, or whatever. (I did this with an ajaxy-search-while
you type, it was handy)