Filtered index apparatus and method
First Claim
1. An apparatus comprising a digital computer having a processor operably connected to a memory device storing modules executable on the processor and data structures containing data associated with the modules, the modules and data structures comprising:
- a database comprising arbitrarily structured records stored in the memory device;
a filtered index definition containing a criterion for selecting records to be indexed;
a filtered index, created according to the filtered index definitin, comprising keys corresponding to selected records and stored in the memory device; and
a database engine module stored in the memory device to be executable by the processor for creating and maintaining the filtered index using the filtered index definition.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus disclosed may be implemented in a digital computer to query a set of arbitrarily structured records. Arbitrarily structured records are structured differently from each other. A query engine, query structure, operators of conventional and non-conventional types may be used in formulating a query. The apparatus may evaluate records having missing fields, repeating fields, or an UNKNOWN value arising from a missing field, division by zero, modulo by zero, or the like. New aggregator (e.g. universal quantifier and existential quantifier) and selector operators (e.g., first, last, nth) may distill multiple values to return a single value. To evaluate a query, the search engine may implement filtered indices, alternate-key indices, compound alternate-key indices, hybrid queries having both full-text and non-full text operands, and joinder of records. Certain of these features may be implemented for evaluating records from both prior art databases and heterogeneous databases of arbitrarily structured records.
-
Citations
22 Claims
-
1. An apparatus comprising a digital computer having a processor operably connected to a memory device storing modules executable on the processor and data structures containing data associated with the modules, the modules and data structures comprising:
-
a database comprising arbitrarily structured records stored in the memory device; a filtered index definition containing a criterion for selecting records to be indexed; a filtered index, created according to the filtered index definitin, comprising keys corresponding to selected records and stored in the memory device; and a database engine module stored in the memory device to be executable by the processor for creating and maintaining the filtered index using the filtered index definition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for implementing a filtered index in a database, the method being implemented in a database engine, the database engine containing arbitrarily structured records and being executable by a processor operably connected to a memory device, and the method comprising:
-
building, in a memory device, a filtered index definition structure containing a list of fields to be indexed and a selection criterion to select candidate arbitrarily structured records for indexing; updating a filtered index, according to the specifications in the filtered index definition structure, whenever a database update operation occurs. - View Dependent Claims (10, 11, 12)
-
-
13. A method of formulating and executing a query against arbitrarily structured records in a database, the method being implemented in a query engine, the query engine being executable by a processor operably connected to a memory device, and the method comprising the following steps executed in an order and repetition determined by the query engine:
-
building, in a memory device, a query structure having selection criterion and information defining a query; retrieving indicia of arbitrarily structured records from the database in accordance with the query structure, using a filtered index to find the indicia; evaluating each of the indicia according to the selection criterion to determine whether the indicia satisfy the selection criterion; and returning selected indicia satisfying the selection criterion. - View Dependent Claims (14, 15, 16)
-
-
17. An apparatus comprising:
-
a processor for executing instructions contained in executables; a memory device operably connected to the processor and containing data structures including; a database comprising arbitrarily structured records, a filtered index definition containing a criterion for selecting records to be indexed, a filtered index, created according to the filtered index definition, comprising keys corresponding to selected records, and a database engine module executable by the processor to create and maintain the filtered index using the filtered index definition. - View Dependent Claims (18, 19, 20, 21, 22)
-
Specification