Wildcard Search Indexing via Reverse and N-gram Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing database systems face inefficiencies in searching data with wildcard operations, as existing data structures perform differently based on the positioning of wildcard operators, necessitating improved search techniques that function consistently regardless of operator placement.

Innovation Solution

The implementation of specialized indexes such as reverse, n-gram, and permutation indexes, which are created and maintained asynchronously to enhance the efficiency of leading wildcard queries, allowing for synchronous user functionality while minimizing resource usage. These indexes are dynamically generated based on workload types and pre-processing operations are offloaded from the database to application servers to reduce resource intensity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional search data structures are used for wildcard queries, then the system can handle basic search operations, but the search performance deteriorates when wildcard operators are positioned at the beginning of search terms

Engineering Contradiction:
Improvesearch performanceVSAvoidconsistent performance across different wildcard positions
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the search index into multiple specialized indexes based on wildcard position: standard indexes for trailing wildcards, reverse indexes for leading wildcards, and n-gram indexes for intermediate wildcards. Each index type is optimized for specific wildcard patterns, allowing the system to maintain high search performance regardless of wildcard positioning.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies inversion by creating reverse indexes that store search terms in reverse order. This allows leading wildcard queries to be transformed into equivalent trailing wildcard queries on the reversed data, enabling efficient search performance for leading wildcards using the same optimization techniques as trailing wildcards.

Inventive Principle:
Principle #13The other way round (Inversion)

2Productivity

If specialized indexes are created to improve leading wildcard search efficiency, then search performance for leading wildcards is improved, but resource usage increases due to maintaining multiple index types

Engineering Contradiction:
Improveleading wildcard search efficiencyVSAvoidresource usage for index maintenance
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements dynamic index selection where the system automatically determines which specialized index to use based on the wildcard position in the query. The query optimizer analyzes the search pattern and selects the most appropriate index type (standard, reverse, or n-gram), ensuring efficient resource utilization by only accessing necessary indexes rather than maintaining all indexes active for all query types.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of index structure based on the query characteristics. Different index structures (reverse, n-gram, permutation) are created with specific parameters optimized for different wildcard positions. The system selects and applies the appropriate index structure parameter set based on the detected wildcard pattern, optimizing both performance and resource usage.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If pre-processing operations are performed on the database to create specialized indexes, then search efficiency is improved, but the complexity of the database system increases

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoiddatabase system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by pre-processing search terms during data insertion and update operations. Specialized indexes (reverse, n-gram, permutation) are built and maintained in advance, so that when queries are executed, the pre-computed index structures are already available for immediate efficient searching, eliminating the need for complex real-time processing during query execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediary components including a query optimizer that analyzes search patterns and selects appropriate indexes, and an index management system that coordinates the creation and maintenance of multiple specialized indexes. These intermediaries abstract the complexity from users while enabling efficient multi-index operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11409742B2Efficient database searching for queries using wildcards
Publication Date: 2022.08.09 SALESFORCE INC
  • US11409742B2 patent drawing
  • US11409742B2 patent drawing
  • US11409742B2 patent drawing

AI summary

Described are mechanisms for creating and utilizing a specialized index to improve the efficiency of various types of leading wildcard searches without having to unduly burden the system with write requests. The mechanisms may identify particular fields to be included in one or more types of specialized indexes that are accessed in response to particular types of wildcard queries including various combinations of leading, trailing, and intermediate wildcard operators. In addition, the mechanism may perform various pre-processing by an application when creating such indexes to conserve resources of an underlying database system. The mechanisms may also execute such wildcard queries in a manner that appears to be synchronous to a user while maintaining such indexes asynchronously for efficiency purposes.