Approximate Nearest Neighbor Search Index with Tombstone Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing approximate nearest neighbor search algorithms in content repositories face challenges in providing immediate searchability of new content, as building a search index requires significant computational resources and time, leading to stale search results.

Innovation Solution

A method and system that utilize a prebuilt search index with a neighborhood graph, allowing new content to be added to the index as if it were present initially, and using a tombstone mechanism for deleted content, ensuring immediate searchability and minimal impact on search latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a search index is rebuilt to include new content, then search completeness is improved, but computational resources and time are consumed

Engineering Contradiction:
Improvesearch completenessVSAvoidindex building time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-computing and storing nearest neighbor relationships in a search index before they are needed. When new content is added, the system has already prepared the indexing structure, allowing for rapid insertion without full re-computation. This preliminary preparation resolves the contradiction by having the computational work done in advance rather than at the moment of content addition.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The search index is segmented into manageable components (neighborhood graphs with nodes representing content items). Instead of rebuilding the entire index when adding new content, only the relevant segments need to be updated. This segmentation allows the system to maintain search completeness while minimizing the computational overhead to only the affected portions of the index.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If a search index is rebuilt to include new content, then search accuracy is improved, but computational resources are consumed

Engineering Contradiction:
Improvesearch accuracyVSAvoidcomputational resources
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system performs partial action by computing and storing only the necessary nearest neighbor relationships required for accurate search, rather than computing all possible relationships. The search index stores approximate nearest neighbors that are sufficient for accurate search results without requiring exhaustive computation. This partial computation approach maintains search accuracy while significantly reducing computational resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of information

If the search index is updated frequently to include new content, then result freshness is improved, but system complexity increases

Engineering Contradiction:
Improveresult freshnessVSAvoidindex update complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The system prepares the indexing structure in advance with pre-computed nearest neighbor relationships, allowing new content to be integrated seamlessly without complex update procedures. This preliminary preparation simplifies the actual update process while maintaining result freshness, as the infrastructure is already in place to handle new content efficiently.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If new content is added to the content repository, then content availability is improved, but search index completeness deteriorates

Engineering Contradiction:
Improvecontent availabilityVSAvoidsearch index completeness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary indexing of new content as it is added to the repository, rather than waiting for batch processing. By pre-computing the vector representations and nearest neighbor relationships immediately upon content addition, the system ensures that newly available content is simultaneously searchable, maintaining both content availability and search index completeness without contradiction.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12169527B2Approximate nearest neighbor search engine
Publication Date: 2024.12.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12169527B2 patent drawing
  • US12169527B2 patent drawing
  • US12169527B2 patent drawing

AI summary

System and methods are directed to operations associated with an approximate nearest neighbor search engine. More specifically, a vector semantically representing content to be added to a search index may be received. The search index may include a neighborhood graph having a plurality of nodes, where each node of the plurality of nodes is associated with content in a content repository. A plurality of nodes within the search index determined to be most semantically similar to the received vector semantically representing content to be added to the search index may be identified. The node corresponding to the received vector semantically representing content to be added to the search index to the search index may be added to the search index and a listing of nearest neighbors associated with each of the of the plurality of nodes may be updated to include an identifier associated with the added node.