[ https://issues.apache.org/jira/browse/SOLR-5831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14011568#comment-14011568 ]
Joel Bernstein commented on SOLR-5831: -------------------------------------- If your Query class implements PostFilter and ScoreFilter then the SolrIndexSearcher will make sure the scorer is present during docset retrieval. ScoreFilter is just a flag, no methods. It's little things like this that make me believe this would be better as a pluggable collector. SOLR-5973 is now committed. You can also see a pluggable collector example with SOLR-6088. > 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