Query translation for searching complex structures of objects
First Claim
Patent Images
1. A system of searching stored content comprising:
- a processor configured to;
create a first mapping from an object to one or more stored relational database tables;
create a second mapping from the object to an indexer schema;
translate a search request, comprising;
use the first mapping to translate the search request expressed in an abstract query language to a first query language associated with the relational database; and
use the second mapping to translate the search request to a second query language associated with the indexer schema;
determine, transparent to a user that submitted the search request, an order for performing a query against the first mapping and the second mapping, wherein the query corresponds to the search request;
select the first query language or the 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 wherein the first query language is used in connection with performing a first portion of the query for a first set of one or more types of objects, and the second query language is used in connection with performing a second portion of the query for a second set of one or more types of objects; 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.
11 Assignments
0 Petitions
Accused Products
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.
-
Citations
22 Claims
-
1. A system of searching stored content comprising:
-
a processor configured to; create a first mapping from an object to one or more stored relational database tables; create a second mapping from the object to an indexer schema; translate a search request, comprising; use the first mapping to translate the search request expressed in an abstract query language to a first query language associated with the relational database; and use the second mapping to translate the search request to a second query language associated with the indexer schema; determine, transparent to a user that submitted the search request, an order for performing a query against the first mapping and the second mapping, wherein the query corresponds to the search request; select the first query language or the 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 wherein the first query language is used in connection with performing a first portion of the query for a first set of one or more types of objects, and the second query language is used in connection with performing a second portion of the query for a second set of one or more types of objects; 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer program product for searching stored content, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
-
creating a first mapping from an object to one or more stored relational database tables; creating a second mapping from the object to an indexer schema; translating a search request, comprising; using the first mapping to translate the search request expressed in an abstract query language to a first query language associated with the relational database; and using the second mapping to translate the search request to a second query language associated with the indexer schema; determining, transparent to a user that submitted the search request, an order for performing a query against the first mapping and the second mapping, wherein the query corresponds to the search request; selecting the first query language or the 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 wherein the first query language is used in connection with performing a first portion of the query for a first set of one or more types of objects, and the second query language is used in connection with performing a second portion of the query for a second set of one or more types of objects; 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 espalier 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.
-
-
22. A method of searching stored content comprising:
-
creating a first mapping from an object to one or more stored relational database tables; creating a second mapping from the object to an indexer schema; translating, using a processor, a search request, comprising; using the first mapping to translate the search request expressed in an abstract query language to a first query language associated with the relational database; and using the second mapping to translate the search request to a second query language associated with the indexer schema; determining, transparent to a user that submitted the search request, an order for performing a query against the first mapping and the second mapping, wherein the query corresponds to the search request; selecting the first query language or the 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 wherein the first query language is used in connection with performing a first portion of the query for a first set of one or more types of objects, and the second query language is used in connection with performing a second portion of the query for a second set of one or more types of objects; 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 espalier 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.
-
Specification