method %OnNew(ClassName, IndexName, Distance, IndexProperty, DIM, IndexData) as %Status
Inherited description: This callback method is invoked by the %New() method to
provide notification that a new instance of an object is being created.
If this method returns an error then the object will not be created.
It is passed the arguments provided in the %New call.
When customizing this method, override the arguments with whatever variables and types you expect to receive from %New().
For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:
Method %OnNew(dob as %Date = "", name as %Name = "") as %Status
If instead of returning a %Status code this returns an oref and this oref is a subclass of the current
class then this oref will be the one returned to the caller of %New method.
Compute the distance between vec1 and vec2, using the distance function specified in i%Distance
Supported distance functions: "COSINE" and "DOTPRODUCT"
method Delete(pID, ByRef pArg, lock)
Removes row with id pID from the KNN index
lock indicates if locking is in effect (lock=1) or not (lock =0).
method Insert(pID, ByRef pArg, lock)
Inserts row with id pID into the KNN index
lock indicates if locking is in effect (lock=1) or not (lock =0).
method Purge(lock=1)
Purge the KNN index
lock indicates if locking is in effect (lock=1) or not (lock =0). Default value is 1.
method TopK(point, k, additionalParameters...)
Find the top K nearest neighbor of point and store the results as a local array in i%TopK
method Update(pID, ByRef pArg, lock)
Update row with id pID in the KNN index
lock indicates if locking is in effect (lock=1) or not (lock =0). Default value is 1.
method getNext(ByRef distance, ByRef id) as %Boolean
Returns by reference the next nearest neighbor to i%Point and the distance between this neighbor to i%Point