hossman commented on PR #15784: URL: https://github.com/apache/lucene/pull/15784#issuecomment-5402625022
I'm skimming the final commit of this PR based on reading the 10.5 `MIGRATE` notes about it and experiencing a strong sense of WTF?!?!?!?! My reason for this is because, AFAICT the constructor signatures for `AbstractVectorSimilarityQuery` and it's two concrete subclasses (`(Byte|Float)VectorSimilarityQuery`) are still binary compatibly between 10.4 and 10.5 -- but the semantic meaning of those (positional) `float` arguments has completely changed? Effectively... ``` - ..., float traversalSimilarity, float resultSimilarity, ... + ..., float resultSimilarity, float decay, ... ``` Is this "API is binary compatibility, but has semantically different behavior" really intentional???? I am admittedly not a vector search expert, and really hope that there is some subtle nuance here I'm misunderstanding; that there is in fact backwards compatibility in terms of what the minimum returned score is relative to the "second float argument", and that "bigger first float argument" results more graph traversal. But the fact that this PR had to _modify_ existing tests to get them to pass (not just add new tests) and the number of vector search related Solr test failures i'm seeing scroll by in my "attempt to lucene 10.5 upgrade" solr branch, makes me think that my first instincts are correct. --- In terms of practical steps forward: How are people (who *notice* this API change) suppose to deal with this API change in existing applications? `MIGRATE` mentions that these queries are now "adaptive" and that decay offers an advanced tuning factor, put doesn't provide any instructions/insights in how applications should that were already using `traversalSimilarity` should be adapted? -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
