[ https://issues.apache.org/jira/browse/SOLR-14554?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tomas Eduardo Fernandez Lobbe reassigned SOLR-14554: ---------------------------------------------------- Assignee: Tomas Eduardo Fernandez Lobbe > BMW algorithm isn't used when scores are requested > -------------------------------------------------- > > Key: SOLR-14554 > URL: https://issues.apache.org/jira/browse/SOLR-14554 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Affects Versions: master (9.0), 8.6 > Reporter: Tomas Eduardo Fernandez Lobbe > Assignee: Tomas Eduardo Fernandez Lobbe > Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > This is because, when scores are requested, we use MultiCollector, and it > will end up using a scorer that explicitly skips delegating calls to set the > minimum competitive score: > {code:java} > @Override > public void setScorer(Scorable scorer) throws IOException { > if (cacheScores) { > scorer = new ScoreCachingWrappingScorer(scorer); > } > scorer = new FilterScorable(scorer) { > @Override > public void setMinCompetitiveScore(float minScore) throws IOException > { > // Ignore calls to setMinCompetitiveScore so that if we wrap two > // collectors and one of them wants to skip low-scoring hits, then > // the other collector still sees all hits. We could try to > reconcile > // min scores and take the maximum min score across collectors, but > // this is very unlikely to be helpful in practice. > } > }; > for (int i = 0; i < numCollectors; ++i) { > final LeafCollector c = collectors[i]; > c.setScorer(scorer); > } > } > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org