Per more mailing list discusion, a new version of the patch...
1) param names have changed to match conventions disccuessed about highlighting...
facet - boolean - do facet counts or not
facet.query - multival string - list of arbitrary query constraints to count
facet.field - multival string - list of fields to treat as facets
facet.missing - boolean, per field - count docs that have no value for field
facet.zeros - boolean, per field - include facet field values with 0 counts
facet.limit - int, per field - max number of field values to return (desc)
2) note that previuosly TODO "limit" and "zeros" functionality has been added
3) note addition of "missing" option per discussion on the list
4) response format has been modified slightly (not as extensively as discussed on the list since there wasn't a clear concensus about a good API - but a cleaner seperation of query based facets and facet fields)
5) heavy refactoring: all functionality put into a "SimpleFacets" class which can be subclasseed/composed to get individual pieces of functionality. usage of this class by StandardRequestHandler also refactored into method that subclassing handlers can override (to add complex facet behavior without giving up other built in goodness of StandardRequestHandler)
A cool example that demonstrates everything with the example schema/docs...
(NOTE: this is all still just used in StandardRequestHandler - not DisMax yet)