benwtrent commented on PR #14085:
URL: https://github.com/apache/lucene/pull/14085#issuecomment-2595943039

   @benchaplin I updated my branch further and simplified the logic:
   
    - we consider at max 2x scored candidates 
    - We will explore at max 3x filtered candidates
   
   This seemed to be a sweat spot and simplified the math (which had numerous 
numerical errors). 
   
   I think its getting close to being "done", there are some failing tests, but 
I think they can be easily fixed.
   
   One thing I am worried about is that this change will pretty substantially 
change recall at various filter levels. Filtered kNN search is likely the most 
common kNN search there is. So, we should some how allow users to keep the old 
behavior and opt in as this might be considered a breaking change due to the 
significant change in behavior. Maybe its not a breaking change, maybe its just 
ok 🤷 
   
   
   Here are some other augmentations to the current change I tried. Neither 
seems justified IMO. 
   
    A. Adding just the first `maxConn` filtered docs to the result set & entry 
point list on the bottom layer. This didn't seem to do anything useful and hurt 
the recall/latency & vector ops measurements
    B. Adding additional 'nearest entry points' from layer 1. So, gather the 
nearest and then gather `N` more (up to some limit related to maxConn) and use 
those when exploring the base layer. This seemed to have better behavior for 
highly filtered scenarios than option A. But, it still didn't add much. So, I 
opted for simplicity. 
   
   


-- 
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

Reply via email to