Managed Search Indexing for Streaming Data Sources

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Implementing full-text search functionality across multiple data sources is complex and resource-intensive, requiring users to manually configure search engines, set up replication groups, and maintain ETL jobs to keep search indexes up to date, especially as data volumes change.

Innovation Solution

A managed search system that automatically identifies and indexes data sources, uses a data discovery service to subscribe to streaming data sources, and includes an ETL service for real-time indexing and archiving, allowing for scalable and highly available search functionality without significant user development or maintenance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual configuration and maintenance of search engines is implemented, then search functionality can be provided, but system complexity and resource requirements increase significantly

Engineering Contradiction:
Improveease of setupVSAvoidconfiguration complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system performs automatic service discovery and indexing without requiring manual configuration. The discovery service automatically identifies data sources, and the indexing service automatically creates and maintains search indexes, eliminating the need for users to manually setup replication groups, ETL jobs, and search engine configuration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

A managed search service acts as an intermediary between users and the underlying search infrastructure. This service abstracts away the complexity of search engine management by handling data source discovery, index creation, and maintenance automatically, allowing users to simply query the service without dealing with the underlying complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If manual ETL jobs are set up to maintain search indexes, then search functionality is provided, but ongoing maintenance resources and time are required

Engineering Contradiction:
Improvesearch index accuracyVSAvoidmaintenance time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The indexing service continuously monitors and indexes data from discovered data sources in real-time or near-real-time. This continuous operation ensures that search indexes remain accurate and up-to-date without requiring periodic manual ETL job execution, eliminating the need for ongoing maintenance time while maintaining index reliability.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system implements automatic feedback loops where the discovery service continuously discovers new data sources and the indexing service continuously updates indexes based on changes in the data. This feedback mechanism ensures search index accuracy is maintained automatically without manual intervention for updates or synchronization.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If search index scaling is performed manually as data volume changes, then search capability is maintained, but productivity and responsiveness decrease

Engineering Contradiction:
ImprovescalabilityVSAvoidresponse time
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The indexing service dynamically adapts to changing data volumes by automatically adjusting indexing capacity and resources. As data sources are discovered and data volume changes, the service automatically scales indexing operations without requiring manual intervention, maintaining both scalability and rapid response to changing requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The discovery service continuously monitors and discovers new data sources in advance, allowing the indexing service to proactively create indexes before they are needed for searching. This preliminary action ensures that when data volumes change or new sources are added, the search functionality is already prepared and responsive.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10614090B1Indexing and archiving streaming sources for managed search
Publication Date: 2020.04.07 AMAZON TECH INC
  • US10614090B1 patent drawing
  • US10614090B1 patent drawing
  • US10614090B1 patent drawing

AI summary

A data discovery service provides methods of indexing and archiving data from streaming data sources. The data discovery service can subscribe to a streaming service which transmits data collected by a streaming data source. The streaming data source may be associated with an index policy that identifies the types of data from the data stream are to be indexed, and an archive policy that identifies under what conditions an index should be archived. An index of the data stream may be generated based on the index policy until an archive event is detected. When the archive event is detected, the index can be transmitted to an archive data store and a new index can be generated for the data stream.