jpountz commented on code in PR #12682: URL: https://github.com/apache/lucene/pull/12682#discussion_r1361646368
########## lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java: ########## @@ -266,7 +265,7 @@ public float score() throws IOException { score += optScorer.score(); } - return score; + return (float) score; Review Comment: Actually your change doesn't help here since this sums up two floats at most and summing up two floats is already guaranteed to be as accurate as a float can be. Let's revert changes on this file? ########## lucene/core/src/java/org/apache/lucene/search/similarities/TFIDFSimilarity.java: ########## @@ -504,9 +504,9 @@ public TFIDFScorer(float boost, Explanation idf, float[] normTable) { @Override public float score(float freq, long norm) { - final float raw = tf(freq) * queryWeight; // compute tf(f)*weight + final double raw = tf(freq) * queryWeight; // compute tf(f)*weight float normValue = normTable[(int) (norm & 0xFF)]; - return raw * normValue; // normalize for field + return (float) (raw * normValue); // normalize for field Review Comment: Likewise here, float multiplication is already guaranteed to give a result that is as accurate as a float can give. One could argue that we could get more accuracy by casting into a double before multiplying in the first multiplication, ie. `final double raw = (double) tf(freq) * queryWeight;`. But I don't think we should do it as similarity scores are a bit fuzzy by nature, and this would very unlikely improve ranking effectiveness. The main reason why we cast into doubles when summing up scores in not really to get better accuracy, but more so that the other in which clauses are evaluated doesn't have an impact on the final score. Let's revert changes on this file as well? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org