XML Indexing Strategy for Node-Aware Full-Text Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for searching XML documents are inefficient, incomplete, and often return irrelevant results due to the need for full scans of large collections, which are slow and fail to target relevant information within specific contexts.

Innovation Solution

The development of an XML Index that stores node information, including paths, values, and order, allowing for efficient node-aware full-text searches through the creation of a full-text index on a table that transforms queries into SQL queries, using a fully or partially atomized value approach to index and search XML documents.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a full scan of all XML documents is performed to find information, then complete search coverage is achieved, but search speed becomes very slow for larger collections

Engineering Contradiction:
Improvesearch completenessVSAvoidsearch speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent creates XML indexes beforehand that store pre-computed path information, node positions, and text content mappings. When a search query arrives, the system performs a full-text search on the indexed data rather than scanning the entire XML collection, achieving both completeness and speed through pre-prepared search structures.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary XML index structure that sits between the raw XML documents and the search query. This index contains path tables and text indexes that mediate between the full XML data and search operations, enabling efficient node-aware full-text search without direct full scans of the original documents.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If text indexes are used to find keywords in XML documents, then search speed improves, but only a small subset of text can be found

Engineering Contradiction:
Improvesearch speedVSAvoidsearch completeness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent merges path indexing with full-text indexing into a unified XML index structure. The path table stores node paths, positions, and text content together, allowing the system to perform node-aware full-text search that is both fast (like text indexes) and complete (unlike traditional text indexes that miss contextual information).

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The XML index structure serves multiple functions simultaneously: it stores text content for full-text search, maintains path information for node-aware search, and provides position data for result ordering. This multi-functional index achieves both speed and completeness that single-purpose indexes cannot achieve alone.

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

3Measurement precision

If an XML index stores complete node information including paths and values, then search accuracy improves, but storage space and DML performance deteriorate

Engineering Contradiction:
Improvesearch accuracyVSAvoidstorage space
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent creates a copied representation of XML node information in the path table, storing essential search attributes (paths, positions, text content) without duplicating the entire XML document structure. This selective copying provides search accuracy while controlling storage space by only copying necessary search-related attributes.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent extracts only the essential search-related attributes from the complete XML node information and stores them in the path table. Instead of storing all XML node details, it extracts and stores specifically the path, position, and text content needed for node-aware full-text search, reducing storage requirements while maintaining search accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

4Measurement precision

If an XML index stores complete node information including paths and values, then search accuracy improves, but DML operation performance deteriorates

Engineering Contradiction:
Improvesearch accuracyVSAvoidDML performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent creates a copied representation of XML node information in the path table, storing essential search attributes (paths, positions, text content) without duplicating the entire XML document structure. This selective copying provides search accuracy while controlling storage space by only copying necessary search-related attributes.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent extracts only the essential search-related attributes from the complete XML node information and stores them in the path table. Instead of storing all XML node details, it extracts and stores specifically the path, position, and text content needed for node-aware full-text search, reducing storage requirements while maintaining search accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8126932B2Indexing strategy with improved DML performance and space usage for node-aware full-text search over XML
Publication Date: 2012.02.28 ORACLE INT CORP
  • US8126932B2 patent drawing
  • US8126932B2 patent drawing
  • US8126932B2 patent drawing

AI summary

Techniques are provided for searching within a collection of XML documents. A relational table stores an entry for each node of a set of nodes in a collection of XML documents. Each entry of the relational table stores an order key and a path identifier along with the atomized value of the node. Instead of storing the atomized value in a full-text index, a virtual column can be created to represent, for each node, the atomized value of the node. Alternately, each entry of the relational table stores an order key and a path identifier along with, for simple nodes, the atomized value, and for complex nodes, a null value. For a complex node with a descendant text node, a separate entry is stored for the descendant text node in the relational table.