CPC G06F 16/951 (2019.01) [G06F 16/2237 (2019.01); G06F 16/2379 (2019.01); G06F 16/27 (2019.01); G06F 16/953 (2019.01)] | 17 Claims |
1. A method comprising:
receiving a vector semantically representing content to be added to a search index;
identifying a plurality of nodes within the search index determined to be most semantically similar to the received vector;
generating a node based on the received vector, wherein the node comprises the vector semantically representing content to be added to the search index;
locking, for a predetermined time, the node with a fine-grain lock without locking other nodes in the search index, such that the other nodes are searchable during the predetermined time;
building edges for the node based on the plurality of nodes determined to be semantically similar to the received vector;
adding the node to the search index; and
updating a listing of nearest neighbors associated with each node of the plurality of nodes to include an identifier associated with the added node, wherein each node of the plurality of nodes maintains a separate listing of nearest neighbors,
wherein the predetermined time corresponds to the updating the listing of nearest neighbors associated with each node of the plurality of nodes.
|