Pulkitg64 opened a new pull request, #12857:
URL: https://github.com/apache/lucene/pull/12857

   ### Description
   
   Fixes issue: #12414
   
   Before this change we were creating new BitSet every time when there are 
deletions in the index with use of matched Docs and Live Docs. To create this 
bitSet there is iteration needed over all matching docs which is time consuming 
process.
   
   With this change we have wrapped matching Docs and live Docs under single 
Bits instance which can be directly passed for HNSW search. So, now during HNSW 
Search when a node is explored, we will check if the doc is accepted or not by 
checking bits of both matchedDocs and liveDocs which is constant time 
operation. Cost (```int cost = acceptDocs.length()```) of the new acceptedDocs 
is not exactly accurate but gives an upper bound on number, as it is not 
considering live-docs count, but docIdSetIterator itself gives us the 
estimation and upper bound on matched docs so it should not harm us.
   


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