Walter - Apologies for not trying this sooner first-hand. I’m used to passing in all the params (even the dynamic ${…} ones) in the request these days, not so much putting them into request handler definitions.
I finally tried it with a default (master/trunk) with modifying the /browse handler with this: <requestHandler name="/browse" class="solr.SearchHandler" useParams="query,facets,velocity,browse"> <lst name="defaults"> <str name="echoParams">explicit</str> <str name="sort">${sort_field} desc</str> </lst> </requestHandler> And get this startup error: Caused by: org.apache.solr.common.SolrException: No system property or default value specified for sort_field value:${sort_field} desc at org.apache.solr.util.PropertiesUtil.substituteProperty(PropertiesUtil.java:65) at org.apache.solr.util.DOMUtil.substituteProperties(DOMUtil.java:303) *sigh* and sorry for leading you astray. Definitely a Solr bug. However, this technique does work when everything is in the params: /select?q=*:*&sort=${sort_field}%20desc&sort_field=id @Yonik or others - is this a known/filed issue? Workarounds or escaping that could make it work? Erik > On Feb 27, 2017, at 10:39 PM, Walter Underwood <wun...@wunderwood.org> wrote: > > No, I tried that before adding the default. > > But the solrconfig.xml is rejected before there is a request, so this is not > about requests. I did try “scores” in the requests, but of course it didn’t > work because the solrconfig.xml was not loaded. I did not turn off parameter > substitutions. This is a pretty vanilla solrconfig.xml. > > wunder > Walter Underwood > wun...@wunderwood.org > http://observer.wunderwood.org/ (my blog) > > >> On Feb 27, 2017, at 6:44 PM, Erik Hatcher <erik.hatc...@gmail.com> wrote: >> >> `scores` (plural), you’ve got this below: <str name="scores"></str> >> >> Remove that, and like my previous e-mail, and use `scores` (plural) from the >> request and _should_ work? >> >> Erik >> >>> On Feb 27, 2017, at 9:42 PM, Walter Underwood <wun...@wunderwood.org> wrote: >>> >>> I’ve passed in a score parameter, but the solrconfig.xml is rejected before >>> any requests. >>> >>> Pretty ready to give up. The documentation around function queries and >>> params is not working for me, though I’ve been using Solr for ten years. I >>> have figured out a lot of systems. This is impenetrable. >>> >>> wunder >>> Walter Underwood >>> wun...@wunderwood.org >>> http://observer.wunderwood.org/ (my blog) >>> >>> >>>> On Feb 27, 2017, at 6:35 PM, Erik Hatcher <erik.hatc...@gmail.com> wrote: >>>> >>>> You have an empty “scores” parameter in there. You’re not showing your >>>> full search request, but did you provide that in the request? Have you >>>> perhaps turned off parameter substitutions? >>>> >>>> Erik >>>> >>>>> On Feb 27, 2017, at 9:26 PM, Walter Underwood <wun...@wunderwood.org> >>>>> wrote: >>>>> >>>>> With this in the config… >>>>> >>>>> <requestHandler name="/display_tutor_rank" class="solr.SearchHandler"> >>>>> <!-- Note! Needs FuzzyDismax handler! --> >>>>> <lst name="defaults"> >>>>> <str name="defType">edismax</str> >>>>> <str name="mm">0</str> >>>>> <bool name="lowercaseOperators">false</bool> >>>>> <str name="fl">id, >>>>> image_thumb_large, image_thumb_medium, image_thumb_small, >>>>> image_thumb_xlarge, uri, user_id, last_name, first_name, >>>>> name, school, major, graduation_year, tutor_profile_id, >>>>> positive_reviews, negative_reviews, gender, about_experience, >>>>> about_extracurricular, time_approved</str> >>>>> <str name="q.alt">*:*</str> >>>>> <str name="qf">about_experience about_extracurricular School >>>>> Major</str> >>>>> <str name="scores"></str> >>>>> <str >>>>> name="sort">sum(interaction_responsiveness_score,profile_completeness_score,school_score,us_tax_id_score,highlight_score,${scores}) >>>>> desc</str> >>>>> <str name="boost">log(sum(1,max(positive_reviews,0)))</str> >>>>> <str name="tie">0.1</str> >>>>> </lst> >>>>> </requestHandler> >>>>> >>>>> I see this… [Solr 6.3.0] >>>>> >>>>> org.apache.solr.common.SolrException: Unable to reload core >>>>> [tutors_shard1_replica11] >>>>> at org.apache.solr.core.CoreContainer.reload(CoreContainer.java:950) >>>>> at >>>>> org.apache.solr.core.SolrCore.lambda$getConfListener$6(SolrCore.java:2708) >>>>> at >>>>> org.apache.solr.cloud.ZkController.lambda$fireEventListeners$4(ZkController.java:2448) >>>>> at java.lang.Thread.run(Thread.java:745) >>>>> Caused by: org.apache.solr.common.SolrException: Could not load conf for >>>>> core tutors_shard1_replica11: Error loading solr config from >>>>> solrconfig.xml >>>>> at >>>>> org.apache.solr.core.ConfigSetService.getConfig(ConfigSetService.java:85) >>>>> at org.apache.solr.core.CoreContainer.reload(CoreContainer.java:942) >>>>> ... 3 more >>>>> Caused by: org.apache.solr.common.SolrException: Error loading solr >>>>> config from solrconfig.xml >>>>> at >>>>> org.apache.solr.core.SolrConfig.readFromResourceLoader(SolrConfig.java:187) >>>>> at >>>>> org.apache.solr.core.ConfigSetService.createSolrConfig(ConfigSetService.java:97) >>>>> at >>>>> org.apache.solr.core.ConfigSetService.getConfig(ConfigSetService.java:77) >>>>> ... 4 more >>>>> Caused by: org.apache.solr.common.SolrException: No system property or >>>>> default value specified for scores >>>>> value:sum(interaction_responsiveness_score,profile_completeness_score,school_score,us_tax_id_score,highlight_score,${scores}) >>>>> desc >>>>> at >>>>> org.apache.solr.util.PropertiesUtil.substituteProperty(PropertiesUtil.java:65) >>>>> at org.apache.solr.util.DOMUtil.substituteProperties(DOMUtil.java:298) >>>>> >>>>> wunder >>>>> Walter Underwood >>>>> wun...@wunderwood.org >>>>> http://observer.wunderwood.org/ (my blog) >>>>> >>>>> >>>>>> On Feb 27, 2017, at 6:17 PM, Erik Hatcher <erik.hatc...@gmail.com> wrote: >>>>>> >>>>>> Walter - >>>>>> >>>>>> How about this, for the latter part of your request: >>>>>> >>>>>> /handler?features=a,b,c >>>>>> >>>>>> with &sort=sum(${features}) desc >>>>>> >>>>>> That ought to do the trick. At first I thought the #foreach nature of >>>>>> the list of features was prohibitive, but since you’re literally >>>>>> plugging in the exact string value and it’s used as a comma-separated >>>>>> list then this should work. >>>>>> >>>>>> But with the just a list of subject ID’s I think you’re in custom >>>>>> development now (or a JavaScript stage in a Fusion query pipeline ;) in >>>>>> building a SearchComponent that takes a `features` parameter and builds >>>>>> the sort param as needed from that. >>>>>> >>>>>> Erik >>>>>> >>>>>> >>>>>> >>>>>>> On Feb 27, 2017, at 7:17 PM, Walter Underwood <wun...@wunderwood.org> >>>>>>> wrote: >>>>>>> >>>>>>> We have documents with parameterized features. For a school subject >>>>>>> (calculus, accounting), we have three sets of features. So for >>>>>>> subject=4 and subject=186, we have: >>>>>>> >>>>>>> feature_a_4: 0.9 >>>>>>> feature_b_4: 1.6 >>>>>>> feature_c_4: 8.2 >>>>>>> feature_a_186: 3.0 >>>>>>> feature_b_186: 2.1 >>>>>>> feature_c_186: 99.2 >>>>>>> >>>>>>> I’d like to pass in the subject IDs and make a function query (for >>>>>>> sorting) from those, ending up with >>>>>>> >>>>>>> sum(feature_x, feature_y, feature_a_4, feature_b_4, feature_c_4, >>>>>>> feature_a_186, feature_b_186, feature c_186) desc >>>>>>> >>>>>>> That would be used for the sort parameter. >>>>>>> >>>>>>> Failing that, it would be nice so just pass in the parameterized >>>>>>> portion, like this: >>>>>>> >>>>>>> /handler?features=feature_a_4,feature_b_4,feature_c_4,feature_a_186,feature_b_186,feature >>>>>>> c_186 >>>>>>> >>>>>>> Right now, I can’t even make a solrconfig.xml that will load. I’ve read >>>>>>> everything I can find on params and function queries. >>>>>>> >>>>>>> wunder >>>>>>> Walter Underwood >>>>>>> wun...@wunderwood.org >>>>>>> http://observer.wunderwood.org/ (my blog) >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >