Mikhail, > I suppose there are a clue over there > http://blog.griddynamics.com/2015/08/scoring-join-party-in-solr-53.html
It worked for two level docs. If we have 3 level nested docs: parent -> middle -> child [with price field we try to sort] then there is a problem when score=min: If we make child request so that middle docs also match (e.g. to recieve their facets) then since middle docs do not have price field their score is 0. And hence min score of parent docs is 0 for all of them. bjqfacet?q={!parent which=doc_type_s:baseDocument score=min}(doc_type_s:childDocument OR doc_type_s:middleDocument)^=0 AND {!func}child_doc_price_field&child.facet.field=child_doc_field&child.facet.field=middle_doc_field&fl=*,[docid],score&sort=score asc I guess that in this case when score=min we somehow should change score of middle docs to be maximum even though they have no price field. So they wont affect result score. FYI