Query translation for searching complex structures of objects
AssigneeEMC IP Holding Company LLC
InventorsMarc Brette, Frederic Ciminera, Bruno Marquié
Life of this patent
Estimating the term…
Abstract
Searching stored content is disclosed. A first mapping is created from an object to one or more stored relational database tables. A second mapping is created from the object to an indexer schema. One or both of the following is done: 1) using the first mapping to translate a search request expressed in an abstract query language to a first query language associated with the relational database; and 2) using the second mapping to translate the search request to a second query language associated with the indexer schema.
Claims21
A system, comprising:
- a processor configured to:
- determine, transparent to a user that submitted a search request, an order for performing a query against a first mapping and a second mapping, wherein the query corresponds to the search request, the first mapping storing a mapping of objects to one or more stored relationship databases, and the second mapping storing a mapping of objects to index schemas, wherein the submitted search request is an original search request and the order determination includes executing the original search request;
- select a first query language or a second query language to execute the query, wherein selection of the first query language or the second query language is based at least in part on the order for performing the query;
- and
- execute, to receive a set of results, the query using the selected first query language for the first portion of the query, and the selected second query language for the second portion of the query, wherein the query is executed based at least in part on the determined order, and wherein in the case of a later executed portion of the query executed after an earlier executed portion of the query, executing of the later executed portion of the query is based at least in part on results of the earlier executed portion of the query, the later executed portion of the query and the earlier executed portion of the query being determined based at least in part on the determined order;
- and
- a memory coupled to the processor, wherein the memory is configured to provide the processor with instructions.
A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- determining, transparent to a user that submitted a search request, an order for performing a query against a first mapping and a second mapping, wherein the query corresponds to the search request, the first mapping storing a mapping of objects to one or more stored relationship databases, and the second mapping storing a mapping of objects to index schemas, wherein the submitted search request is an original search request and the order determination includes executing the original search request;
- selecting a first query language or a second query language to execute the query, wherein selection of the first query language or the second query language is based at least in part on the order for performing the query;
- and
- executing, to receive a set of results, the query using the selected first query language for the first portion of the query, and the selected second query language for the second portion of the query, wherein the query is executed based at least in part on the determined order, and wherein in the case of a later executed portion of the query executed after an earlier executed portion of the query, executing of the later executed portion of the query is based at least in part on results of the earlier executed portion of the query, the later executed portion of the query and the earlier executed portion of the query being determined based at least in part on the determined order.
A method, comprising:
- determining, transparent to a user that submitted a search request, an order for performing a query against a first mapping and a second mapping, wherein the query corresponds to the search request, the first mapping storing a mapping of objects to one or more stored relationship databases, and the second mapping storing a mapping of objects to index schemas, wherein the submitted search request is an original search request and the order determination includes executing the original search request;
- and
- selecting a first query language or a second query language to execute the query, wherein selection of the first query language or the second query language is based at least in part on the order for performing the query;
- executing, to receive a set of results, the query using the selected first query language for the first portion of the query, and the selected second query language for the second portion of the query, wherein the query is executed based at least in part on the determined order, and wherein in the case of a later executed portion of the query executed after an earlier executed portion of the query, executing of the later executed portion of the query is based at least in part on results of the earlier executed portion of the query, the later executed portion of the query and the earlier executed portion of the query being determined based at least in part on the determined order.
Dependencies are inferred from the claim text.