[ 
https://issues.apache.org/jira/browse/SOLR-5831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14011635#comment-14011635
 ] 

Peter Keegan commented on SOLR-5831:
------------------------------------

Thanks, that was a simple fix. But if the results are coming from the cache, 
why does the PostFilter collection have to be rerun?

I totally agree that there are a lot of little details that make it tricky to 
implement a PostFilter. For the short term, we'll likely go to production with 
it, though, since we're running on 4.6.1.  Can the pluggable collector 
framework be patched into 4.6.1? (when I looked at it a while ago, it didn't 
seem so)

Peter


> Scale score PostFilter
> ----------------------
>
>                 Key: SOLR-5831
>                 URL: https://issues.apache.org/jira/browse/SOLR-5831
>             Project: Solr
>          Issue Type: Improvement
>          Components: search
>    Affects Versions: 4.7
>            Reporter: Peter Keegan
>            Assignee: Joel Bernstein
>            Priority: Minor
>             Fix For: 4.9
>
>         Attachments: SOLR-5831.patch, SOLR-5831.patch, SOLR-5831.patch, 
> SOLR-5831.patch, SOLR-5831.patch, TestScaleScoreQParserPlugin.patch
>
>
> The ScaleScoreQParserPlugin is a PostFilter that performs score scaling.
> This is an alternative to using a function query wrapping a scale() wrapping 
> a query(). For example:
> select?qq={!edismax v='news' qf='title^2 
> body'}&scaledQ=scale(product(query($qq),1),0,1)&q={!func}sum(product(0.75,$scaledQ),product(0.25,field(myfield)))&fq={!query
>  v=$qq}
> The problem with this query is that it has to scale every hit. Usually, only 
> the returned hits need to be scaled,
> but there may be use cases where the number of hits to be scaled is greater 
> than the returned hit count,
> but less than or equal to the total hit count.
> Sample syntax:
> fq={!scalescore+l=0.0 u=1.0 maxscalehits=10000 
> func=sum(product(sscore(),0.75),product(field(myfield),0.25))}
> l=0.0 u=1.0           //Scale scores to values between 0-1, inclusive 
> maxscalehits=10000    //The maximum number of result scores to scale (-1 = 
> all hits, 0 = results 'page' size)
> func=...                      //Apply the composite function to each hit. The 
> scaled score value is accessed by the 'score()' value source
> All parameters are optional. The defaults are:
> l=0.0 u=1.0
> maxscalehits=0 (result window size)
> func=(null)
>  
> Note: this patch is not complete, as it contains no test cases and may not 
> conform 
> to all the guidelines in http://wiki.apache.org/solr/HowToContribute. 
>  
> I would appreciate any feedback on the usability and implementation.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to