Hello Greg, This code is a close implementation of the original HNSW paper <https://arxiv.org/abs/1603.09320>.
Multiple entry points in HnswGraphSearcher are used during a graph construction in HnswGraphBuilder for levels <= nodeLevel. In this case the number of entry points is equal to beamWidth. Closest neighbors found the previous layer are used as entry points for the current layer. I hope this answers your question. On Sat, Feb 19, 2022 at 3:59 PM Greg Miller <gsmil...@gmail.com> wrote: > Hi folks- > > I've been poking around some of the HNSW code out of curiosity and I > noticed that the HnswGraphSearcher#searchLevel methods accept an array > of entry point nodes (int[] eps), but as far as I can tell, only one > entry point is every provided (from both HnswGraphSearcher and > HnswGraphBuilder). Is there actually a use-case for executing a search > using multiple entry points? I ask purely out of curiosity and trying > to build up my own understanding in this space. > > I tried searching the dev list and Jira issues for anywhere this might > have been discussed and came up empty, but apologies if there's a > thread about this somewhere I missed. > > Cheers, > -Greg > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org > For additional commands, e-mail: dev-h...@lucene.apache.org > >