Preliminary Ranker Using Bit Vector Search Index

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional search systems face inefficiencies in ranking documents due to the use of posting lists, which require batch updating and are not suitable for real-time updates, leading to increased downtime and inability to provide immediate search results for new information like news or social feeds.

Innovation Solution

The implementation of a bit vector search index that uses probabilistic approaches and score tables to rank documents more efficiently, allowing for instant updates and real-time addition of new documents by employing bit vectors to represent indexed documents and intersecting them to identify matching terms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If posting lists are used for indexing documents, then storage capacity is maintained, but processing speed and update efficiency deteriorate due to batch updating requirements

Engineering Contradiction:
Improveprocessing speedVSAvoidupdate efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent replaces traditional posting list data structures with bit vector-based indexing. Bit vectors use bitwise operations (AND, OR, NOT) to perform set operations on document collections, substituting the mechanical list traversal and merging operations of posting lists with efficient bitwise computations. This enables parallel processing and significantly faster update operations, as bit vectors can be updated in-place without requiring batch processing or reindexing entire document collections.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Measurement precision

If all matching documents are sent to final ranker, then ranking accuracy is improved, but processing cost and time increase significantly

Engineering Contradiction:
Improveranking accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements preliminary filtering using bit vector operations before documents reach the final ranker. The system performs bitwise AND operations on bit vectors corresponding to query terms to pre-identify candidate document sets. This preliminary action eliminates obviously irrelevant documents early in the process, allowing the final ranker to focus only on promising candidates. The bit vector intersection operations provide a fast, approximate filtering mechanism that preserves ranking accuracy while dramatically reducing the number of documents requiring expensive full-ranking operations.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If bit vector search index is used, then update speed is improved for real-time additions, but storage efficiency may deteriorate compared to posting lists

Engineering Contradiction:
Improveupdate speedVSAvoidstorage capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent changes the fundamental parameters of the indexing data structure from variable-length posting lists to fixed-width bit vectors. Each bit vector has a predetermined size based on the total document collection, with each bit representing a document's presence or absence. This parameter change enables O(1) update time complexity, as adding or removing a document requires only a single bit flip. The fixed-width structure provides predictable memory allocation and enables efficient use of cache memory, offsetting the apparent storage overhead through better memory utilization patterns.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11030201B2Preliminary ranker for scoring matching documents
Publication Date: 2021.06.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11030201B2 patent drawing
  • US11030201B2 patent drawing
  • US11030201B2 patent drawing

AI summary

The technology described herein provides for preliminary ranking of matching documents for a search query. A preliminary ranker uses score tables for scoring each matching document based on its relevant to a search query. The score table for a document stores pre-computed data used to derive a frequency of terms and other information in the document. The preliminary ranker uses the score table for each matching document and the terms from the search query to determine a score for each matching document. The lowest scoring documents are removed from further consideration by a final ranker.