And by turning off parameter substitutions I meant disable `expandMacros` - https://cwiki.apache.org/confluence/display/solr/Parameter+Substitution <https://cwiki.apache.org/confluence/display/solr/Parameter+Substitution>
Likely you haven’t and this feature should work. I’d remove `scores` from your config (unless you’re going to provide a valid default, by maybe moving where you put “desc” in the parameters) and provide that as a mandatory (or optional depending on how you arrange the params, possibly) `scores` param. /select?q=*:*&scores=feature_a_1,feature_b_2 &sort=sum(${scores}) desc > On Feb 27, 2017, at 9: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) >>>> >>>> >>> >> >