Query serving infrastructure
First Claim
1. A method comprising performing a machine-executed operation involving instructions for dynamic class composition, wherein the machine-executed operation is at least one of:
- A) sending the instructions over transmission media;
B) receiving the instructions over transmission media;
C) storing the instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
receiving, at a compiler, a statement that conforms to syntax rules of a language supported by the compiler;
wherein the statement includes one or more constructs, including a particular construct; and
compiling the statement, wherein the step of compiling the statement includes the compiler performing the steps of;
dynamically loading a plug-in;
obtaining, from the plug-in, code for use in compiling statements that include paid particular construct; and
using said code to generate executable code for said statement.
9 Assignments
0 Petitions
Accused Products
Abstract
A system and method for dynamically composing a class is provided. A query is parsed and a compiler object tree is generated that corresponds to the operators in the query. A set of feature requests and responses are initiated and a set of feature objects are generated that are executed at runtime. The language of the query may be extended by registering a new operator, and optionally a new feature for a query language, with a search engine without modifying the source code of the search engine. The new operator may be specified in a plug-in and provided to the search engine via the plug-in. An application converts an end user query into an application query that conforms to the query language supported by the search engine and includes the new operator. The application query may also include references to traditional programming constructs and search engine primitives.
-
Citations
48 Claims
-
1. A method comprising performing a machine-executed operation involving instructions for dynamic class composition, wherein the machine-executed operation is at least one of:
-
A) sending the instructions over transmission media;
B) receiving the instructions over transmission media;
C) storing the instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
receiving, at a compiler, a statement that conforms to syntax rules of a language supported by the compiler;
wherein the statement includes one or more constructs, including a particular construct; and
compiling the statement, wherein the step of compiling the statement includes the compiler performing the steps of;
dynamically loading a plug-in;
obtaining, from the plug-in, code for use in compiling statements that include paid particular construct; and
using said code to generate executable code for said statement. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method comprising performing a machine-executed operation involving instructions for dynamic class composition, wherein the machine-executed operation is at least one of:
-
A) sending the instructions over transmission media;
B) receiving the instructions over transmission media;
C) storing the instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
receiving, at a compiler, a statement that conforms to syntax rules of a language supported by the compiler;
wherein the statement includes one or more constructs, including a particular construct; and
compiling the statement, wherein the step of compiling the statement includes the compiler performing the steps of;
creating a parse tree by parsing the statement based on the syntax rules of the language;
generating, based on the parse tree, a compiler object tree that comprises a plurality of compiler objects, wherein each compiler object corresponds to a construct in said statement; and
generating executable code for said statement based on feature objects obtained by issuing requests to compiler objects in the compiler object tree. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method comprising performing a machine-executed operation involving instructions for extending a query language, wherein the machine-executed operation is at least one of:
-
A) sending the instructions over transmission media;
B) receiving the instructions over transmission media;
C) storing the instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
registering a new operator with a compiler;
wherein the step of registering includes identifying a plug-in that includes a first code that encapsulates logic of the new operator;
receiving a query that includes the new operator; and
using the first code that encapsulates logic of the new operator, from the plug-in, to compile the query to produce executable code that includes a second code for performing an operation associated with the new operator. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37)
-
-
38. A method comprising performing a machine-executed operation involving instructions for compiling an application query received from a search application, wherein the machine-executed operation is at least one of:
-
A) sending the instructions over transmission media;
B) receiving the instructions over transmission media;
C) storing the instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
a developer of the search application registering, with a compiler, code that references a search primitive of a search engine through an API exposed by the search engine;
designing the search application so that it submits a query that includes a particular operator that is associated with the registered code;
when the compiler receives the application query, the compiler generating, based on the operator associated with the registered code, executable code that incorporates the registered code; and
executing the executable code;
wherein the search primitive is from the group consisting of;
document stream feature, position stream feature, and a unit operator. - View Dependent Claims (39, 40, 41, 42)
-
-
43. A method comprising performing a machine-executed operation involving instructions for executing an application query, wherein the machine-executed operation is at least one of:
-
A) sending the instructions over transmission media;
B) receiving the instructions over transmission media;
C) storing the instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein the instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
receiving, at a search engine, the application query, wherein;
the search engine indexes web-accessible content on the Internet obtained, at least in part, by crawling the Internet to discover web-accessible content made available thereon; and
the application query includes at least one programming construct from the following programming constructs;
a variable assignment statement, a conditional execution statement, a list comprehension, a participate attribute, and a transparent attribute;
compiling the application query to generate a compiled query; and
executing the compiled query. - View Dependent Claims (44, 45, 46, 47, 48)
-
Specification