How to structure index and FacetHandler selection for non-drill down facets

42 views
Skip to first unread message

Rob Cecil

unread,
Jun 28, 2012, 1:57:36 PM6/28/12
to bobo-...@googlegroups.com
Hi, I have an Lucene index containing documents with an field called "ObjectClass", which is currently defined as Stored, and NOT_ANALYZED (probably need to use NOT_ANALYZE_NO_NORMS), and contains a small set of possible terms (< 100). I would like to present a facet so the user can check off one of more choices, effectively stating they are searching where (ObjectClass == Model OR ObjectClass == Level OR ... ), i.e. implied disjunction. I tried using a SimpleFacetHandler, as soon as I select one of the facet values (BrowseSelection), the resulting facets from the BrowseResult eliminates all the other values... 

In other words, if the user initially doesn't pick any facets, but just specifies a query (via QueryParser), I can see the list of facet values for ObjectClass. For example if I search for "Id:BAUER*" I see the facet values/counts for ObjectClass as :

Level 6
View 4
Dimension 3
Book 1
Model 1

As soon as I try a subsequent query, but add a BrowseSelection for ObjectClass, value = Model, the next iteration of facet values is reduced to simply:

Model 1

If the results of the facet values is driving my UI, that is not the experience I want. I want the user to be able to pick any of the other remaining values. I suppose I could set up the FacetSpec so that even counts of zero are shown? Or retain the previous facet value counts?

If I look at how LinkedIn's job search works it appears that once you have an initial result set from the text (e.g. "java engineer") the facets never change. That is, the list of companies never seems to change based on what else I have checked, nor do the counts update based on I what I have checked. Conceptually, my field ObjectClass is similar to Company, or Location, in that I want the user to be able to check multiple options (implicit disjunction, not conjunction), but what isn't clear in the design is do I update the UI to reflect what is coming back from the BrowseResult.FacetMap.

Sorry I am new to Faceted Search design, and have been reading as much as I can to understand the various patterns in use (smart dead ends, etc). Please help...

Thanks
Rob

Lei Wang

unread,
Jun 28, 2012, 7:24:33 PM6/28/12
to bobo-...@googlegroups.com
For the facet spec you have to say expand=true, to make the facet count of unselected facet values still there. 

- Lei
Rob

--
You received this message because you are subscribed to the Google Groups "bobo-browse" group.
To view this discussion on the web visit https://groups.google.com/d/msg/bobo-browse/-/X0-Wcfblf1MJ.
To post to this group, send email to bobo-...@googlegroups.com.
To unsubscribe from this group, send email to bobo-browse...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/bobo-browse?hl=en.

Reply all
Reply to author
Forward
0 new messages