Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

init level connections under the control of maxM0 and maxM #54

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

gfhe
Copy link

@gfhe gfhe commented Nov 22, 2022

At line 215 of HnswIndex.java, randomLevel==0 may not meet expectations, which will reault in maxM0 not working.

        for (int level = 0; level <= randomLevel; level++) {
            int levelM = level == 0 ? maxM0 : maxM;
            connections[level] = new IntArrayList(levelM);
        }

At line 215 of `HnswIndex.java`,  `randomLevel==0` may not meet expectations, which will reault in `maxM0` not working.

```
        for (int level = 0; level <= randomLevel; level++) {
            int levelM = level == 0 ? maxM0 : maxM;
            connections[level] = new IntArrayList(levelM);
        }
```
@lvca
Copy link

lvca commented Jun 28, 2023

@gfhe I think it makes sense. WDYT @jelmerk?

lvca added a commit to ArcadeData/arcadedb that referenced this pull request Jun 28, 2023
lvca added a commit to ArcadeData/arcadedb that referenced this pull request Jul 3, 2023
* feat: refactoring of schema api using a builder for types

Fixed issue 1102

* fix: SQLSCRIPT commit command with retry

Fixed issue #1097

* First version of VectorBuilder to hold parameters to build the vector index

* First implementation (not tested yet) of HnswIndex derived from an optimized for RAM implementation

* chore: removed unused properties

* feat: optimized support for arrays of numbers

They are not stored as List with dynamic type for each item, but rather as array of element of the same type. This saves much more space and it is much faster because avoid java autoboxing by using literals

* feat: first working version of importer + index.

* feat: completed 1st impl of RAM+Database HSNW Index

* feat: vector test now select a random word

* test: vector test run, removed delay and converted output into logs to see the timestamp

* First draft of create index command for vectors

* Merge branch 'main' into vector-model

* feat: implemented ArcadeDB's Index interface on HnswVectorIndex

* feat: major refactoring to support vector indexes

* test: removed initial count of words

* Fixed compilation issue

* Merge branch 'main' into vector-model

* feat: vector index now is correctly saved and loaded in/from the database

* Fixed compilation issues after merge

* Added support for Chebyshev by @gramian

* Moved ChebyshevDistance into ArcadeDB project

* fix: hnsw -> init level connections under the control of maxM0 and maxM

Applied the PR from jelmerk/hnswlib#54

* feat: added statistics to the vector demo

* integrated Word2Vec and GloVe format into the importer

#995

* fix: automatically saved the vector index upon creation

* feat: sql -> added `vectorNeighbors()` function

* fix: compilation warning

* feat: supported arrays in Types + auto create type and properties + some refactoring

* chore: refactoring with names

* chore: fixed typos

* test: fixed broken tests

* test: fixed broken test
@jelmerk jelmerk force-pushed the master branch 26 times, most recently from e9c45c9 to 2ae0a24 Compare December 28, 2023 22:53
@jelmerk jelmerk force-pushed the master branch 19 times, most recently from 1e7badb to 6db6c06 Compare December 30, 2023 22:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants