Indexed Query Modification for Non-Indexed Hierarchical Search
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing query execution systems face high computational expense when dealing with queries that include non-indexed query terms, as they often require searching through all nodes in a hierarchy, leading to inefficient data retrieval.
Innovation Solution
The system modifies queries by adding indexed node properties to include terms associated with indexed data, using machine learning to identify relevant terms and applying node routines to derive or inherit non-indexed properties, thereby reducing computational expense.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If queries include non-indexed query terms, then query completeness and accuracy are improved, but computational expense and execution time increase significantly
Solution Approach 1:
The query execution is divided into two phases: first executing the query with indexed terms to retrieve a candidate result set, then filtering this subset with non-indexed terms. This segmentation avoids scanning the entire database with all query terms, reducing computational expense while maintaining query accuracy.
Solution Approach 2:
The system performs preliminary filtering using indexed terms before applying non-indexed term filters. By pre-retrieving a smaller candidate set based on indexed properties, the system reduces the data volume that requires expensive full-text or complex filtering operations, thereby lowering overall computational expense.
2Loss of information
If queries search through all nodes in hierarchy, then complete data retrieval is ensured, but execution speed decreases
Solution Approach 1:
The hierarchical data structure is leveraged to segment the search space. The system first identifies candidate nodes using indexed properties that define subsets of the hierarchy, then applies non-indexed term filters only within these candidate subsets. This ensures complete retrieval of relevant data while avoiding unnecessary traversal of entire hierarchical branches.
Solution Approach 2:
The system performs a controlled excessive action by initially retrieving a superset of results based on indexed terms, then filters this partial result set with non-indexed terms. This approach retrieves slightly more data than strictly necessary in the first phase, but the subsequent filtering dramatically reduces the final result set, improving overall execution speed while maintaining completeness.
3Productivity
If indexes are created for all query terms, then query execution efficiency is improved, but device complexity and storage requirements increase
Solution Approach 1:
Instead of uniformly indexing all query terms, the system applies indexing selectively to specific properties that are frequently queried or have high selectivity. Non-indexed terms are handled through filtering operations on the result sets produced by indexed term queries. This local differentiation optimizes storage usage and index maintenance complexity while maintaining query efficiency for common patterns.
Solution Approach 2:
The system creates a universal query processing framework that handles both indexed and non-indexed terms through a unified two-phase approach. This framework makes the system multi-functional, capable of efficiently processing queries with any combination of indexed and non-indexed terms without requiring separate optimization strategies, thereby reducing overall system complexity.
Data Source
AI summary
Techniques for modifying a query based on a data index of nodes in a data set are disclosed. A system modifies queries based on query terms associated with indexed data. The system modifies queries to include query terms based on indexed data or to obtain values for query terms that are not associated with indexed node properties. The system adds query terms, that reference indexed data, to a query in response to determining that none of a query's terms reference indexed data. The system derives values for query terms that are not associated with indexed node properties using a logical or mathematical formula. The system traverses parent nodes of a child node to identify values for query terms that are not associated with the child node in a data index, but are inherited from a parent node.


