: Fair enough, I guess I was just kind of expecting a constant score query + a : function query to result in a score of whatever the function query is. This : is a common trick to sort by a function, but it's easy enough to just ^0 the : non function clause.
I think the root of hte issue is that a ConstantScoreQuery has a constant according to it's boost, which defaults to "1", so all the usual queryNorm effects apply when using it in a BooleanQuery. Random thought: one way to implement "sort by function" more naturally would be to add a "sortfunc" parm that used the FunctionQParser, take the "q" query and move it to the Filter query list, then use the func query as your main query. (all of this could be triggered my a new magic sort field "_func_ desc" which was equivilent to "score desc" after the query swapping ... things like "sort=inStock desc, _func_ desc" would still work as well) -Hoss