The functionality is definitely needed, I'm just not sure of the API yet.
I also have a ConstantScorePrefixQuery/PrefixFilter that just needs to be cleaned up a bit before it can be contributed.
Doug, you had brought up the possibility of having a flag on Query indicating if it was constant scoring or not... it would be simpler than reproducing Constant versions of all the query types.
The downside of that is the whole issue of query immutability... if you set the constant-scoring flag on the root query, it really needs to set it on all of it's sub queries (and hence changes them). You can easily get into trouble if a query is shared.
To avoid changing queries, you would have to follow the same strategy as rewrite()...
You would need to clone the query object, then set constantScoring, then call rewrite (which may clone it again). Not the best for performance...
One solution is to communicate the fact that we want a constant scoring query in the rewrite method itself: rewrite(Query query, int flags)