How to retrieve a list of all facet values for a particular facet?

There have been other discussions about topics like this before: How to efficiently return all unique records for a facet value along with record counts - #2 by maria.schreiber

However, it seems to me that we are stuck in between two non-ideal choices here. Either we query searchForFacetValues with a max hit count of 100 and no way to do paging, or we search the entire index for facets in a wildcard way (with max hit count 1000), but only returning facets relevant to those items that are returned.

Given these two non-ideal choices, I suppose the most “programmatically sane” way to do this is to query the entire index 1000 results at the time, and then page through all results until we have aggregated every potential unique facet value.

Is there not a more user-friendly (read: programmer friendly) way to do this? We want to set the facet ordering, and it would be very useful to get a list of all unique facets so we can do that in a sane way.

Also, is there some maximum number of values that you can “pin” in the facet ordering? I didn’t see if there was a maximum in the docs, but I imagine there might be…