mikemccand opened a new issue, #16780:
URL: https://github.com/apache/lucene/issues/16780

   ### Description
   
   I recently learned about binary fuse filters, which do the same thing as 
bloom filters ("does the set contain X? ==> maybe or no" at a tunable 
false-positive (maybe when it was really a no) rate), but more compactly and 
less lookup cost (cache friendly locality, and maybe fewer memory accesses).
   
   The big tradeoff is you cannot incrementally add to the set, i.e. binary 
fuse filters are not an "online data structure": you must know the full set up 
front, do the construction, and not change them.  But this is a perfect match 
for Lucene's write-once design!
   
   It seems like we should cutover e.g. `BloomFilteringPostingsFormat` wrapper 
(and change the name, sigh, naming is the hardest part, but Claude is pretty 
good at it).
   
   [Claude Opus 5.5 Medium does a succinct job comparing 
them](https://claude.ai/share/92cde481-3edf-4eef-b192-0f4d2fa5de4b).
   
   Daniel Lemire (creator/tester/publicizer of so many super fast low level 
algorithms) has a [talk about binary fuse filters on 
YouTube](https://youtu.be/UcbR7c4nyLU).
   
   There is at least [one Apache licensed pure java 
implementation](https://github.com/FastFilter/fastfilter_java), though probably 
Claude could just bang one out from scratch in twelve seconds.
   
   I don't have time to work on this!  Just opening it in case anyone is 
looking for a juicy low hanging fruit optimization dev challenge...


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