Incremental Search Indexing via Hash Table Scoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current desktop search systems consume significant system resources and are inefficient in generating accurate query results, especially during incremental searching, as they require extensive read-write cycles and memory usage, and lack real-time index updates and comprehensive full-text search capabilities.

Innovation Solution

A data index system that efficiently updates and queries objects by associating names with scores and indexing objects based on prefixes, using a hash table structure to quickly retrieve top-scored results, allowing for minimal overhead and supporting incremental searching with real-time updates and full-text search functionality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional desktop search systems perform indexing and querying operations, then accurate search results can be generated, but significant system resources (read-write cycles, memory, processing power) are consumed

Engineering Contradiction:
Improvesearch result accuracyVSAvoidsystem resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent pre-computes and stores relevance scores for all indexed objects during an initial indexing phase. These scores are calculated based on multiple criteria (file type, location, content, metadata) and stored in advance, eliminating the need for complex real-time calculations during querying. This preliminary action allows fast retrieval without consuming significant system resources during actual search operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements differential updating where only changed or affected portions of the index are updated rather than re-indexing the entire database. When objects are added, modified, or deleted, only the relevant score calculations and index entries are adjusted. This local quality approach minimizes read-write cycles and memory operations while maintaining search accuracy.

Inventive Principle:
Principle #3Local quality

2Reliability

If real-time index updates are performed when desktop contents change, then the search index remains current, but system performance is impacted

Engineering Contradiction:
Improveindex currencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic background updating where index changes are applied at scheduled intervals rather than immediately upon every desktop change. The system monitors for changes and batches updates periodically, allowing normal system operations to continue with minimal disruption. This periodic action maintains index currency while avoiding continuous performance impact.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent uses temporary storage areas where index updates are prepared and validated before being applied to the main index. If an update fails or causes issues, the system can discard the temporary changes and recover the original index state. This approach ensures reliability while minimizing performance impact through controlled, reversible updates.

Inventive Principle:
Principle #34Discarding and recovering

3Ease of operation

If incremental searching is implemented to display results as user types, then user convenience is improved, but query processing is repeated multiple times consuming additional resources

Engineering Contradiction:
Improveuser convenienceVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent pre-sorts all indexed objects by their relevance scores in descending order during the initial indexing phase. This preliminary sorting allows incremental search to simply traverse the pre-ordered list and display results as the user types, without needing to re-sort or re-rank objects with each character input. This eliminates repeated processing while maintaining user convenience.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts and stores only the essential sorting criteria (relevance scores) during indexing, separating this information from the full object data. During incremental searching, only the extracted score information needs to be accessed and filtered, not the complete object structures. This extraction reduces processing overhead while enabling fast incremental display.

Inventive Principle:
Principle #2Taking out (Extraction)

4Adaptability or versatility

If comprehensive full-text search capabilities are added to desktop search, then search coverage is improved, but indexing complexity and resource usage increase

Engineering Contradiction:
Improvesearch coverageVSAvoidindexing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the indexing process into separate, independent modules: one module handles full-text content extraction and tokenization, another calculates relevance scores based on multiple criteria, and a third manages index structure construction. Each segment processes specific aspects independently, allowing comprehensive search coverage without monolithic complexity. This modular segmentation makes the system more manageable and maintainable.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7512620B2Data structure for incremental search
Publication Date: 2009.03.31 GOOGLE LLC
  • US7512620B2 patent drawing
  • US7512620B2 patent drawing
  • US7512620B2 patent drawing

AI summary

A system for searching an object environment includes harvesting and indexing applications to create a search database and one or more indexes into the database. A scoring application determines the relevance of the objects, and a querying application locates objects in the database according to a search term. One or more of the indexes may be implemented by a hash table or other suitable data structure, where algorithms provide for adding objects to the indexes and searching for objects in the indexes. A ranking scheme sorts searchable items according to an estimate of the frequency that the items will be used in the future. Multiple indexes enable a combined prefix title and full-text content search of the database, accessible from a single search interface.