Locale-Aware Search Indexing Using Dynamic State Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional indexing and searching systems fail to account for language locale variations, leading to inaccurate search results due to differences in character meanings across locales.

Innovation Solution

A state machine is dynamically built based on the current language locale to represent variance in search terms, with nodes representing equivalent characters, and collation keys are used to identify and index relevant postings lists, ensuring accurate search results by filtering out characters with different meanings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional indexing and searching systems are used, then the system structure is simple, but search precision deteriorates due to inability to account for language locale variations

Engineering Contradiction:
Improvesearch precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements dynamic adaptation by detecting the user's language locale and dynamically adjusting the indexing and searching behavior. The system transitions from a static, universal indexing approach to a dynamic, locale-aware approach where the state machine and collation keys are adapted based on the detected locale, thereby improving search precision without requiring multiple fixed systems

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of collation key generation based on language locale. Different locales produce different collation keys for the same characters (e.g., Swedish vs. English locale handling of å, ä, ö), which fundamentally alters how search terms are matched against indexed content, resolving the contradiction between simplicity and precision

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If locale-specific indexing is implemented for each language, then search precision improves, but the index size increases

Engineering Contradiction:
Improvesearch precisionVSAvoidindex size
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent creates a universal indexing system that serves multiple language locales through a single state machine and collation key framework. Rather than maintaining separate indexes for each language, the system uses one universal index that can accommodate any locale by generating appropriate collation keys at query time, thereby avoiding the need for multiple language-specific indexes

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system performs preliminary locale detection and state machine construction before actual searching occurs. By pre-determining the appropriate collation keys and state machine transitions based on the detected locale, the system prepares the indexing structure in advance, allowing fast searching without requiring pre-built locale-specific indexes

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If dynamic state machine construction is performed for each search query, then search accuracy improves, but processing time increases

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

Solution Approach 1:

The system performs preliminary locale detection and state machine construction before actual searching occurs. By pre-determining the appropriate collation keys and state machine transitions based on the detected locale, the system prepares the indexing structure in advance, allowing fast searching without requiring pre-built locale-specific indexes

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses collation keys as a form of copying or abstraction of the actual character sequences. Instead of working with the full character strings directly, the system creates simplified collation key representations that capture the essential locale-specific sorting rules, enabling faster comparison and searching while maintaining accuracy

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9020951B2Methods for indexing and searching based on language locale
Publication Date: 2015.04.28 APPLE INC
  • US9020951B2 patent drawing
  • US9020951B2 patent drawing
  • US9020951B2 patent drawing

AI summary

In response to a search query having a search term received from a client, a current language locale is determined. A state machine is built based on the current language locale, where the state machine includes one or more nodes to represent variance of the search term having identical meaning of the search term. Each node of the state machine is traversed to identify one or more postings lists of an inverted index corresponding to each node of the state machine. One or more item identifiers obtained from the one or more postings list are returned to the client, where the item identifiers identify one or more files that contain the variance of the search term represented by the state machine.