Causing a spawned ERP process to retrieve and return search results
A search request received at a computer of a search support system is processed by analyzing the received search request to identify request parameters and connecting to a system index of the search support system that is referenced in the request parameters. An external result provider (ERP) process is initiated that establishes communication between the search support system and a data source external to the search support system, for a virtual index referenced in the request parameters. Thus, the ERP process provides an interface between the search support system and external data sources, such as by third parties. The ERP process can operate in a streaming mode (providing realtime search results with minimal processing) and/or a reporting mode (providing results with a greater delay and processing extent) and can switch between modes. The search request results are received from the connected system indexes and the referenced virtual indexes.
1 . A method comprising:
determining, by a first computing device, a set of data storage systems referenced by a received user-specified query;
determining, by the first computing device, how many and what type of external results provider (ERP) processes support searching the set of data storage systems referenced by the received user-specified query;
spawning, by the first computing device, one or more instances of the ERP processes based on the determining of how many and what type, thereby causing each spawned ERP process to execute an interface through which the first computing device retrieves a set of search results responsive to a corresponding portion of the received user-specified query from a corresponding one of the data storage systems referenced by the corresponding portion of the received user-specified query, by triggering the spawned ERP process to:
transform the corresponding portion of the received user-specified query into a transformed query with a syntax that is compatible with the corresponding one of the data storage systems;
establish communication with an interface application of the spawned ERP process installed at the corresponding one of the data storage systems, and
pass the transformed query to the interface application at the corresponding one of the data storage systems; and
providing, from the first computing device to a second computing device, aggregated search results based on the set of search results from each of the data storage systems.
2 . The method of claim 1 , wherein the one or more instances of the ERP processes include a common instance that supports searching a common type of the data storage systems.
3 . The method of claim 1 , wherein the first computing device is of a search support system, wherein the one or more instances of the ERP processes include a common instance that supports searching a subset of the data storage systems operated by a common vendor as a service for an operator of the search support system.
4 . The method of claim 1 , wherein the first computing device is of a search support system, wherein the one or more instances of the ERP processes include a common instance that supports searching a subset of the data storage systems of different types operated by a common vendor as a service for an operator of the search support system.
5 . The method of claim 1 , wherein the one or more instances of the ERP processes include a common instance that supports searching a subset of the data storage systems with a common indexing scheme.
6 . The method of claim 1 , wherein the one or more instances of the ERP processes include different instances of the ERP processes for different instances of a common type of the data storage systems.
7 . One or more computer-readable storage media containing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:
determining, by a first computing device, a set of data storage systems referenced by a received user-specified query;
determining, by the first computing device, how many and what type of external results provider (ERP) processes support searching the set of data storage systems referenced by the received user-specified query;
spawning, by the first computing device, one or more instances of the ERP processes based on the determining of how many and what type, thereby causing each spawned ERP process to execute an interface through which the first computing device retrieves a set of search results responsive to a corresponding portion of the received user-specified query from a corresponding one of the data storage systems referenced by the corresponding portion of the received user-specified query, by triggering the spawned ERP process to:
transform the corresponding portion of the received user-specified query into a transformed query with a syntax that is compatible with the corresponding one of the data storage systems;
establish communication with an interface application of the spawned ERP process installed at the corresponding one of the data storage systems, and
pass the transformed query to the interface application at the corresponding one of the data storage systems; and
providing, from the first computing device to a second computing device, aggregated search results based on the set of search results from each of the data storage systems.
8 . The one or more computer-readable storage media of claim 7 , wherein the one or more instances of the ERP processes include a common instance that supports searching a common type of the data storage systems.
9 . The one or more computer-readable storage media of claim 7 , wherein the first computing device is of a search support system, wherein the one or more instances of the ERP processes include a common instance that supports searching a subset of the data storage systems operated by a common vendor as a service for an operator of the search support system.
10 . The one or more computer-readable storage media of claim 7 , wherein the first computing device is of a search support system, wherein the one or more instances of the ERP processes include a common instance that supports searching a subset of the data storage systems of different types operated by a common vendor as a service for an operator of the search support system.
11 . The one or more computer-readable storage media of claim 7 , wherein the one or more instances of the ERP processes include a common instance that supports searching a subset of the data storage systems with a common indexing scheme.
12 . The one or more computer-readable storage media of claim 7 , wherein the one or more instances of the ERP processes include different instances of the ERP processes for different instances of a common type of the data storage systems.
13 . A computing system, comprising:
one or more processors; and
one or more computer-readable storage media containing instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
determining, by a first computing device, a set of data storage systems referenced by a received user-specified query;
determining, by the first computing device, how many and what type of external results provider (ERP) processes support searching the set of data storage systems referenced by the received user-specified query;
spawning, by the first computing device, one or more instances of the ERP processes based on the determining of how many and what type, thereby causing each spawned ERP process to execute an interface through which the first computing device retrieves a set of search results responsive to a corresponding portion of the received user-specified query from a corresponding one of the data storage systems referenced by the corresponding portion of the received user-specified query, by triggering the spawned ERP process to:
transform the corresponding portion of the received user-specified query into a transformed query with a syntax that is compatible with the corresponding one of the data storage systems;
establish communication with an interface application of the spawned ERP process installed at the corresponding one of the data storage systems, and
pass the transformed query to the interface application at the corresponding one of the data storage systems; and
providing, from the first computing device to a second computing device, aggregated search results based on the set of search results from each of the data storage systems.
14 . The computing system of claim 13 , wherein the one or more instances of the ERP processes include a common instance that supports searching a common type of the data storage systems.
15 . The computing system of claim 13 , wherein the first computing device is of a search support system, wherein the one or more instances of the ERP processes include a common instance that supports searching a subset of the data storage systems operated by a common vendor as a service for an operator of the search support system.
16 . The computing system of claim 13 , wherein the first computing device is of a search support system, wherein the one or more instances of the ERP processes include a common instance that supports searching a subset of the data storage systems of different types operated by a common vendor as a service for an operator of the search support system.
17 . The computing system of claim 13 , wherein the one or more instances of the ERP processes include a common instance that supports searching a subset of the data storage systems with a common indexing scheme.
18 . The computing system of claim 13 , wherein the one or more instances of the ERP processes include different instances of the ERP processes for different instances of a common type of the data storage systems.