Document Structure for Cross-Message Search Indexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face difficulties in efficiently searching both within and across messages in conversations due to indexing challenges, where indexing messages separately allows for individual content matching but hinders cross-message searching, and indexing conversations enables cross-searching but interferes with identifying matching content in individual messages.

Innovation Solution

A document structure is implemented where conversation metadata and message metadata are stored in separate documents, and all message content is stored in a single document with fixed position gaps, allowing for efficient querying and searching across and within messages using an inverted index and span queries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If messages are indexed in separate documents, then individual message content matching is improved, but cross-message searching is hindered

Engineering Contradiction:
Improveindividual message content matchingVSAvoidcross-message searching
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent combines multiple separate message documents into a single conversation document, merging the content of all messages within a conversation thread. This allows search terms to match across multiple messages while still enabling identification of individual matching messages through position information and metadata, thus resolving the contradiction between individual message matching and cross-message searching.

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If entire conversations are indexed in a single document, then cross-message searching is enabled, but identifying individual matching messages is interfered with

Engineering Contradiction:
Improvecross-message searchingVSAvoididentifying individual matching messages
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent segments the single conversation document by introducing position gaps between consecutive messages and maintaining metadata for each individual message. This segmentation allows the system to search across the entire conversation while precisely identifying which specific messages contain matching content, resolving the contradiction between cross-message searching and individual message identification.

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If messages are stored separately, then storage organization is simplified, but search efficiency across messages is reduced

Engineering Contradiction:
Improvestorage organizationVSAvoidsearch efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent merges multiple message storages into a single conversation document, improving search efficiency by enabling continuous text search across message boundaries. The organization is maintained through position gaps and metadata that preserve the ability to identify individual messages, thus achieving both efficient storage organization and improved search productivity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11106739B2Document structures for searching within and across messages
Publication Date: 2021.08.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11106739B2 patent drawing
  • US11106739B2 patent drawing
  • US11106739B2 patent drawing

AI summary

The disclosed embodiments provide a system for processing data. During operation, the system stores a conversation containing a series of messages exchanged among a number of participants in a first document containing metadata for the conversation; a second document containing message content for the series of messages, wherein the message content includes a fixed position gap between starting or ending positions in consecutive messages in the series of messages; and one or more additional documents storing message metadata for individual messages in the conversation. Next, the system processes a first search across the series of messages in the conversation using an index of the set of documents. The system also processes, using the index, a second search within individual messages in the series of messages as a span query with a distance that is shorter than the fixed position gap.