: the search results. In particular, I hypothesize that, for a somewhat
: heterogeneous index (heterogeneous in terms of which fields a given
: record might contain), that the following rule might be helpful: Facet
: on a given field to the extent that it is frequently set in the
: documents matching the user's search.

if you go down this route, i suspect you'll find it more interesting to 
sort the fields based on which facets have the highest average facet count 
... consider the (frequently typical) case of fieldX which is the sme for 
every doc in the result set, or fieldY which is unique for every doc in 
the result set -- neither of those will make very useful facets for your 
user (fieldY might, but only if you have some external info about how to 
sort the field constraints so the "best" values are shown to the the user 
to help them drill down to the one doc they'd be most interested in)

my hunch: even if you implemented a syustem like this, it would probbly 
only be useful in extremely generic usecases where you have absolutely no 
idea what data is in your index and you want a useful "exploration" UI.  
if you have even a little bit of information about your schema and your 
users, you can probably do a much better job at guessing which fields to 
facet on first -- and if those fields have very few non-zero constraints 
for a given query, it's easy to skip them and show the next one in your 
list.

the utility of a facet option in your UI tends to depend a lot more on who 
your users are then it does on what your index is.



-Hoss

Reply via email to