Search Query Hinting and Segmentation for Social Networking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Social networking systems face inefficiencies in generating search results due to complex queries and large datasets, leading to inadequate results and processing inefficiencies, particularly when inner and outer query constraints intersect.

Innovation Solution

The implementation of structured queries with query hinting and inverse operators, such as the 'weak and' (WAND) and 'strong or' (SOR) operators, and the use of scoring and ranking based on search intent, to refine search results and improve processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complex structured queries with multiple constraints are processed using traditional search methods, then comprehensive search coverage is achieved, but processing efficiency deteriorates and results become inadequate

Engineering Contradiction:
Improvesearch result qualityVSAvoidquery processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The query processing system segments complex structured queries into multiple simpler sub-queries that can be processed independently. Each sub-query handles a specific aspect of the original query, allowing parallel processing and reducing the computational burden on any single processing unit. This segmentation enables the system to maintain comprehensive search coverage while significantly improving processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-computing and caching intermediate results for frequently accessed data subsets. When a complex query is received, the system can leverage these pre-computed results to avoid redundant processing, thereby improving query processing efficiency without compromising the comprehensiveness of the final results.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If traditional search operators are used without query hinting, then simple query processing is maintained, but search result relevance deteriorates for complex queries

Engineering Contradiction:
Improvequery processing complexityVSAvoidsearch result relevance
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

Query hinting acts as an intermediary mechanism between the user's search intent and the query processing system. Hints provide additional contextual information that guides the search process, enabling the system to generate more relevant results for complex queries without significantly increasing processing complexity. The hints serve as mediators that bridge the gap between simple query structures and complex search requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If inverted index structures are used for fast retrieval, then processing speed is improved, but accuracy deteriorates when dealing with complex constrained queries

Engineering Contradiction:
Improveretrieval speedVSAvoidquery result accuracy
Core Design Contradiction:
SpeedVSManufacturing precision

Solution Approach 1:

The retrieval process is segmented into multiple stages: an initial fast retrieval phase using inverted indexes to quickly identify candidate results, followed by a refinement phase that applies complex constraints to filter and rank results accurately. This segmentation allows the system to benefit from the speed of inverted indexes while maintaining the accuracy required for complex constrained queries through subsequent processing steps.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10423687B2Search query interactions
Publication Date: 2019.09.24 META PLATFORMS INC
  • US10423687B2 patent drawing
  • US10423687B2 patent drawing
  • US10423687B2 patent drawing

AI summary

In one embodiment, a method includes receiving a query comprising one or more n-grams, generating a plurality of query commands based on a parsing of the query input, wherein each query command comprises an inner query constraint and an outer query constraint, scoring the query commands based at least in part on a number of objects matching the inner query constraint of the respective query command, selecting a first query command based at least in part on the respective scores of the query commands, and executing the first query command to identify a plurality of objects based on: (1) a first set of objects matching the first inner query constraint and at least in part matching the first outer query constraint, and (2) a second set of objects matching the first outer query constraint.