Problem Description
For jVector to reach it's full potential on systems like OpenSearch/C* it needs to fully take advantage of it's mutable graph nature.
Graph index is especially suited for incremental updates and allows to perform those in place.
At the moment jVector doesn't persist the distance between neighbors that is saved during construction in the OnHeapGraphIndex, and therefore can't be reused when we want to load a previously written graph and append to it new vectors.
Proposed Solution
Add another section to the persisted index that will include the distances between neighbors.
This allows to quickly reuse them when loading an existing graph index and converting it to the mutable OnHeapGraphIndex to add additional vectors to it.
Problem Description
For jVector to reach it's full potential on systems like OpenSearch/C* it needs to fully take advantage of it's mutable graph nature.
Graph index is especially suited for incremental updates and allows to perform those in place.
At the moment jVector doesn't persist the distance between neighbors that is saved during construction in the
OnHeapGraphIndex, and therefore can't be reused when we want to load a previously written graph and append to it new vectors.Proposed Solution
Add another section to the persisted index that will include the distances between neighbors.
This allows to quickly reuse them when loading an existing graph index and converting it to the mutable
OnHeapGraphIndexto add additional vectors to it.