Searching with adaptively configurable user interface and extensible query language
First Claim
Patent Images
1. A method for receiving and processing a search query with respect to a plurality of search providers the method comprising:
- receiving a registration request from each search provider, wherein the registration request invokes at least one registration function via an API (“
Application Programming Interface”
), wherein a respective registration request includes a plurality of query properties of an associated search provider, the plurality of query properties including a list of at least one data property name, query comparison operators, a number of operands for each of the query comparison operators, syntactic data value types for each operand and localization information about display strings;
receiving an initial request to perform a search from a user;
configuring a user interface based on the query properties of each respective search provider;
displaying the user interface for the search providers to the user based upon the query properties of each respective search provider;
receiving a query from the user;
forming a parse tree representation of the query;
marshaling the parse tree representation to a selected number of search providers using a call by value protocol, wherein each search provider is associated with a specific type of content and respective search functionality for that content, the associated content for each of the search providers being mutually exclusive.
1 Assignment
0 Petitions
Accused Products
Abstract
An adaptively configurable user interface to facilitate a common user experience across two or more databases and an extensible common query structure to allow expansion of a query language to meet the demands of new file types. An exemplary embodiment includes a discovery mechanism for determining query properties of search providers, thereby facilitating adaptive configuring of a user interface to expose the determined query properties. An exemplary embodiment of the user interface includes a portion which remains relatively constant across two or more search providers to reduce user disorientation.
106 Citations
19 Claims
-
1. A method for receiving and processing a search query with respect to a plurality of search providers the method comprising:
-
receiving a registration request from each search provider, wherein the registration request invokes at least one registration function via an API (“
Application Programming Interface”
), wherein a respective registration request includes a plurality of query properties of an associated search provider, the plurality of query properties including a list of at least one data property name, query comparison operators, a number of operands for each of the query comparison operators, syntactic data value types for each operand and localization information about display strings;receiving an initial request to perform a search from a user; configuring a user interface based on the query properties of each respective search provider; displaying the user interface for the search providers to the user based upon the query properties of each respective search provider; receiving a query from the user; forming a parse tree representation of the query; marshaling the parse tree representation to a selected number of search providers using a call by value protocol, wherein each search provider is associated with a specific type of content and respective search functionality for that content, the associated content for each of the search providers being mutually exclusive. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for receiving and processing a search query with respect to a plurality of search providers in a development environment comprising:
-
a processor, wherein the processor is adapted to; receive a registration request from each search provider, wherein the registration request invokes at least one registration function via an API (“
Application Programming Interface”
), wherein a respective registration request includes a plurality of query properties of an associated search provider, the plurality of query properties including a list of at least one data property name, query comparison operators, a number of operands for each of the query comparison operators, syntactic data value types for each operand and localization information about display strings;receive an initial request to perform a search from a user; configure a user interface based on the query properties of each respective search provider; display the user interface for the search providers to the user based upon the query properties of each respective search provider; receive a query from the user; form a parse tree representation of the query; marshal the parse tree representation to a selected number of search providers using a call by value protocol, wherein each search provider is associated with a specific type of content and respective search functionality for that content, the associated content for each of the search providers being mutually exclusive.
-
-
16. A computer readable medium comprising computer-executable instructions for performing a process comprising:
-
receiving a registration request from each search provider, wherein the registration request invokes at least one registration function via an API (“
Application Programming Interface”
), wherein a respective registration request includes a plurality of query properties of an associated search provider, the plurality of query properties including a list of at least one data property name, query comparison operators, a number of operands for each of the query comparison operators, syntactic data value types for each operand and localization information about display strings;receiving an initial request to perform a search from a user; configuring a user interface based on the query properties of each respective search provider; displaying the user interface for the search providers to the user based upon the query properties of each respective search provider; receiving a query from the user; forming a parse tree representation of the query; marshaling the parse tree representation to a selected number of search providers using a call by value protocol, wherein each search provider is associated with a specific type of content and respective search functionality for that content, the associated content for each of the search providers being mutually exclusive. - View Dependent Claims (17, 18, 19)
-
Specification