%SQL.Index.HNSW
index class %SQL.Index.HNSW extends %Library.FunctionalIndex
Hierarchical Navigable Small World (HNSW), implemented based on https://arxiv.org/abs/1603.09320Method Inventory
- DeleteIndex()
- InsertIndex()
- PurgeIndex()
- SegmentInitialize()
- SegmentInsert()
- SortBeginIndex()
- SortEndIndex()
- UpdateIndex()
Parameters
parameter Distance = Cosine;
parameter M = 16;
The number of bi-directional links created for every new element during construction
parameter ProjectMap = 1;
Inherited description: Internal parameter.
parameter efConstruction = 64;
Methods
classmethod DeleteIndex(pID As %RawString, pArg... As %Binary)
This method is invoked when an existing instance of a class is deleted.
classmethod InsertIndex(pID As %RawString, pArg... As %Binary)
Inherited description: This method is invoked when a new instance of a class is inserted into the database.
classmethod PurgeIndex()
classmethod SegmentInitialize(ByRef pIndexBuffer As %RawString, pStartID As %RawString, pEndID As %RawString)
This method is called by the parallel index build to initialize an index segment when constructing
index entries for one segment of the extent. Parallel index builds typically construct indexes in memory
for segments of 64k instances/rows.
classmethod SegmentInsert(ByRef pIndexBuffer As %RawString, pID As %RawString, pArg... As %Binary)
classmethod SortBeginIndex()
classmethod SortEndIndex(pCommit As %Integer = 1)
classmethod UpdateIndex(pID As %RawString, pArg... As %Binary)
This method is invoked when an existing instance of a class is updated.