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]

Reply via email to