dungba88 commented on issue #13564: URL: https://github.com/apache/lucene/issues/13564#issuecomment-3026725357
To summarize what we have done: Previously, there are 2 ways to rescore: - FunctionScoreQuery: this Query wraps another Query and rescore the matches from the inner Query using a DoubleValueSource - Rescorer: this class works on the final TopHits from `IndexSearcher.search()`, then rescore the results to another TopHits. We introduce an additional query: RescoreTopNQuery. It works similar to FunctionScoreQuery, but allow the rescoring even with non-scoring mode. Moreover it also cuts down the TopHits to N similar to the Rescorer class. The usual use case is to oversample the KNN matching a bit, rescore the finally cut down the results to the non-oversample top K. It also supports passing a custom DoubleValueSource like FunctionScoreQuery, so will be reusable for many use cases, such as: - Use quantization for matching and full-precision for rescoring - Use higher quantization for matching and lower quantization for rescoring. Broadly speaking we can use any other field for rescoring - Use single vector for matching for multi-vector for rescoring -- 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