Problem is that BS1 and BS2 sometimes scored differently, so we couldnt safely use BS1 for any segments (otherwise scoring would be not comparable for the query).
But when filtering down low, I think BS1 is the way to go.
This results in enormous performance improvements on 10M Wiki index:
Task QPS base StdDev baseQPS bs1filterStdDev bs1filter Pct diff
PKLookup 215.57 1.61 207.44 4.92 -6% - 0%
OrHighLow 24.23 2.26 38.61 2.37 36% - 86%
OrHighMed 13.22 1.17 21.16 1.24 38% - 85%
OrHighHigh 4.49 0.40 7.50 0.40 45% - 93%
(That was with a random "keeps 10%" filter).
Just adding two comments to the conjunction scorers, if in the future we send required clauses to BS1 (today we do not), we need to make the same modification so that scores are comparable with BS1/BS2 there.
Same comment belongs in ReqOptSumScorer too.
Thanks for benchmarking Mike!
Thank you very much! Great success!
Faux comment, please ignore. JIRA testing.
But it is text only now!
Closed after release.