I have a hierarchical taxonomy of documents that I would like users to be able to search either through search or "drill-down" faceting. The documents may appear at multiple points in the hierarchy. I've got a solution working as follows: a multivalued field labelled category which for each document defines where in the tree it should appear. For example: doc1 has the category field set to "0/topics", "1/topics/computing", "2/topic/computing/systems".
I then facet on the 'category' field, filter the results with fq={!raw f=category}1/topics/computing to get everything below that point on the tree, and use f.category.facet.prefix to restrict the facet fields to the current level. Full query something like: http://localhost:8080/solr/select/?q=something&facet=true&facet.field=category&fq={!rawf=category}1/topics/computing&f.category.facet.prefix=2/topic/computing Playing around with the results, it seems to work ok but despite reading lots about faceting I can't help feel there might be a better solution. Are there better ways to achieve this? Any comments/suggestions are welcome. (Any suggestions as to what interface I can put on top of this are also gratefully received!). Thanks, Russell