tteofili commented on issue #14694: URL: https://github.com/apache/lucene/issues/14694#issuecomment-2976969898
this is a bit weird, basically we have the correct resulting docs in the array, but their sorting order is wrong. ``` scoreDocs[2] = {ScoreDoc@4520} "doc=1 score=0.5 shardIndex=-1" <-- <0, 1> scoreDocs[1] = {ScoreDoc@4519} "doc=2 score=1.0 shardIndex=-1" <-- <1, 2> scoreDocs[0] = {ScoreDoc@4518} "doc=0 score=1.0 shardIndex=-1" <-- <0, 0> ``` in fact the query `<0, 0>` should return `<0, 0>` as its nearest neighbor, whereas <0, 0> and <1, 2> have a tie with score equals to 1 (and this sounds wrong). this doesn't seem to depend on the `PatienceKnnVectorQuery`, in fact the test doesn't run HNSW search, but exact search (because k >= maxOrd). by debugging it looks like indexing creates two slices, one with <0, 0> and <0, 1> (scored as 1 and 0.5, respectively) and one with <1, 2>, supposedly. this particular seed uses `Lucene99ScalarQuantizedVectorScorer`. again, while debugging, it seems that <1, 2> being in a difference slice is quantized as <64, 64> and the query is also quantized as <64, 64>, which seems wrong. I'll keep digging into this. -- 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