lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Walter Underwood <wun...@wunderwood.org>
Subject Re: Using parameter values in a sort
Date Tue, 28 Feb 2017 02:42:38 GMT
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
wunder@wunderwood.org
http://observer.wunderwood.org/  (my blog)


> On Feb 27, 2017, at 6:35 PM, Erik Hatcher <erik.hatcher@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 <wunder@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
>> wunder@wunderwood.org
>> http://observer.wunderwood.org/  (my blog)
>> 
>> 
>>> On Feb 27, 2017, at 6:17 PM, Erik Hatcher <erik.hatcher@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 <wunder@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
>>>> wunder@wunderwood.org
>>>> http://observer.wunderwood.org/  (my blog)
>>>> 
>>>> 
>>> 
>> 
> 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message