WO2017063049A1 - A system, method, computer program and data signal for conducting an electronic search of a database - Google Patents

A system, method, computer program and data signal for conducting an electronic search of a database Download PDF

Info

Publication number
WO2017063049A1
WO2017063049A1 PCT/AU2016/050970 AU2016050970W WO2017063049A1 WO 2017063049 A1 WO2017063049 A1 WO 2017063049A1 AU 2016050970 W AU2016050970 W AU 2016050970W WO 2017063049 A1 WO2017063049 A1 WO 2017063049A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
data store
user
receive
store
Prior art date
Application number
PCT/AU2016/050970
Other languages
French (fr)
Inventor
Brandon EVERTZ
Richard EVERTZ
Original Assignee
Big Ip Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Big Ip Pty Ltd filed Critical Big Ip Pty Ltd
Priority to AU2016340043A priority Critical patent/AU2016340043A1/en
Publication of WO2017063049A1 publication Critical patent/WO2017063049A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Definitions

  • the invention relates to a search engine and search methodology, particularly for use in providing a list of search results to a user.
  • Embodiments of the invention find particular, but not exclusive, use in the provision of a list of search results based, in part, on an aggregation of results from a plurality of data stores.
  • the list of search results is ordered based on one or more criteria.
  • Private search engines have the advantage of working with data sets where the structure of the data is known and predictable. As such, specialised search engines have the advantage of being optimisable for particular types of data. Therefore, it follows that private search engines should, relative to public search engines, provide more targeted and better results. However, private search engines are limited by their respective data set and the number of users capable of adding to the data set.
  • a user search engine comprising :
  • RO/AU a search API configured to receive a user search request, and query a primary data store and at least one secondary data store; and a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store; the search API further configured to expose the search results aggregated by the data aggregator.
  • the Database contains raw data in a structured, relational format.
  • the search API is configured to receive the user search request over a data network from a user device connected to the search engine.
  • the search API is configured to receive the user search request from a user interface associated to a user device.
  • the primary data store comprises at least one electronic database.
  • the primary data store comprises a cluster of electronic databases.
  • the at least one secondary data store comprises at least one external data source remote from the primary data store.
  • the at least one external data source comprises at least one electronic data base.
  • the search engine comprises at least one data source adapter configured to receive the query from the search API; query the, or at least one of, the secondary data store(s); and expose the search results obtained from querying the secondary data store(s) to the data aggregator.
  • At least one data source adapter is configured to receive the query from the search API; query the, or at least one of, the secondary data store(s); and expose the search results obtained from querying the secondary data store(s) to the data aggregator.
  • the data aggregator is configured to assign respective rankings to a plurality of search results from the primary data store that are higher than the respective rankings assigned to a plurality of search results from the at least one secondary data store.
  • the data aggregator is configured to assign respective rankings to each of the search results from the primary data store that are higher than the respective rankings assigned to a plurality of search results from the at least one secondary data store.
  • a background search engine is configured to receive at least some of the search results from the data aggregator; query the at least one secondary data store; and store at least some of the search results from the at least one secondary data store in the primary data store.
  • the background search engine comprises a jobs queue store configured to maintain a plurality of background search requests; a jobs queue manager configured to fetch at least one search request from the jobs queue store; and a background process manager configured to receive at least one search request from the jobs queue store, query the at least one secondary data store, and store at least some of the search results in the primary data store.
  • a system for conducting a search of electronic data comprising : a search API configured to receive a user search request, and query a primary data store and at least one secondary data store; and a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store; the search API further configured to expose the search results aggregated by the data aggregator.
  • An electronic display arranged to provide search results to a user comprising :
  • a computing system including a search API configured to receive a user search request, and query a primary data store and at least one secondary data store; and a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store; the search API further configured to expose the search results aggregated by the data aggregator.
  • a processor programmed to:
  • Access a search API configured to receive a user search request, and query a primary data store and at least one secondary data store;
  • a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store; the search API further configured to expose the search results aggregated by the data aggregator.
  • a computer-readable medium having stored thereon computer-executable instructions that, when executed by a processor, cause the processing to perform a method of ** comprising : a search API configured to receive a user search request, and query a primary data store and at least one secondary data store; and a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store; the search API further configured to expose the search results aggregated by the data aggregator.
  • the term 'comprising' as used in this specification means 'consisting at least in part of.
  • the invention in one aspect comprises several steps. The relation of one or more of such steps with respect to each of the others, the apparatus embodying features of construction, and combinations of elements and arrangement of parts that are adapted to affect such steps, are all exemplified in the following detailed disclosure.
  • This invention may also be said broadly to consist in the parts, elements and features referred to or indicated in the specification of the application, individually or collectively, and any or all combinations of any two or more said parts, elements or features, and where specific integers are mentioned herein which have known equivalents in the art to which this invention relates, such known equivalents are deemed to be incorporated herein as if individually set forth.
  • ⁇ s)' following a noun means the plural and/or singular forms of the noun.
  • 'and/or' means 'and' or 'or' or both.
  • Figure 1 shows a system 10 in which an embodiment of a user search engine 15 and an embodiment of a background search engine 20 are configured to operate.
  • FIGS. 2 and 3 show flowcharts which illustrate an embodiment of a computer enabled method in accordance with an embodiment of the invention.
  • User search engine At least one user operates at least one user device.
  • Embodiments of user devices are indicated at 25I...N.
  • User device 25i is shown as a desktop computing device.
  • User device 252 is shown as a portable computing device for example a laptop.
  • User device 253 is shown as a handheld device for example a tablet or smart phone. It will be appreciated that some embodiments of user devices include devices not shown in figure 1. These include for example wearable or implantable devices.
  • a user operates a user device 25 to search for information of interest to a user.
  • information of interest to a user includes information about nearby restaurants, bars, and other hospitality service providers.
  • a browser client 30I...N installed on a respective user device 25I...N provides a user who is operating user device 25 with search functionality.
  • User devices 25 are connected to data network 35.
  • the data network 35 permits the user devices 25 to exchange data between the user search engine 15, the background search engine 20, and various other components of the system 10 as will be described below.
  • the user search engine 15 comprises a search API 40 and a data aggregator 45.
  • the search API 40 is configured to receive a user search request.
  • the user search request is typically created within a browser client 30 on a user device 25.
  • the search API 40 is remote from the user device 25.
  • the search request is transmitted from the user device 25 over the data network 35 to the search API 40.
  • the search API 40 is installed on a user device 25.
  • the search API 40 receives the search request from a user interface associated to the user device 25. Where the search API 40 is installed on a user device 25, the API 40 either replaces or complements the browser client 30.
  • the search API 40 is connected to at least one primary data store 50 and at least one secondary data store 55.
  • the primary data store includes an electronic database 50i.
  • the primary data store comprises a cluster of electronic databases 502.
  • database cluster 5 ⁇ 2 includes a plurality of connected electronic databases, search servers, and a load balancer configured to efficiently distribute the load across members of the database cluster 5 ⁇ 2.
  • the secondary data store 55 comprises at least one external data source remote from the primary data store 50.
  • at least one external data source 55 comprises an electronic database.
  • Search API 40 is configured to query the primary data store 50 and the secondary data store 55.
  • the search API 40 queries primary data store 50 and secondary data store 55 directly.
  • at least one data source adapter receives the query from the search API 40 and then queries the secondary data store 50. Examples of data source adapters are indicated at 6O1, 6 ⁇ 2 and 6 ⁇ 3 respectively.
  • the user search engine 15 or the search API 40 includes one or more data source adapters 50 configured to query the secondary data store 50.
  • the database schema(s) for the primary data store 50 is/are known to the user search engine 15.
  • the external data sources 55 by contrast are maintained by different entities.
  • the database schema for the respective external data sources 55 are likely to be different. For this reason it is beneficial to provide at least one data source adapter to provide an interface between a database schema desired by the user search engine 15 and the actual database schema implemented in an external data source 55.
  • the data aggregator 45 is configured to receive and aggregate search results from the primary data store 50 and the secondary data store 55.
  • the data aggregator 45 exposes the search results to the search API 40.
  • the search API 40 in turn exposes the search results to the browser client 30 on user device 25.
  • the search results are transmitted over the data network 35 to the user device 25.
  • the search API 40 is installed on a user device 25, the search API makes the search results available to the user through a user interface on the user device 25.
  • adapter 60 exposes the search results obtained from querying the secondary data store 55 to the data aggregator 45.
  • the data aggregator 45 is configured to assign a higher ranking to at least one search result from the primary data store 50 than at least one search result from the secondary data store 55. Assigning a higher ranking to a search result has the effect of highlighting the search result to a user operating a user device 25.
  • a higher ranking has the effect of positioning a search result with a high ranking above or in front of a search result with a low ranking when a plurality of search results are displayed in an ordered list.
  • a higher ranking has the effect of otherwise highlighting a search result with a high ranking to the user. This includes positioning a search result in a different location within a user interface presented to a user, displaying a search result in a different colour or font or otherwise highlighting the search result to the user.
  • the background search engine 20 comprises a job queue store 65, a job queue manager 70, and a background process manager 75.
  • the job queue store 65 is configured to maintain a plurality of background search requests.
  • the background search requests are constructed at least partly from at least some of the search results from the data aggregator 45.
  • the job queue store 65 stores metadata including a start time, number of execution attempts, remote resources to be accessed, data to be obtained from such remote resources, and the analysis to perform on that data.
  • job queue manager 70 is configured to fetch at least one search request from the job queue store 65.
  • the background process manager 75 is configured to receive at least one search request obtained from the job queue store 65 by the job queue manager 70. Background process manager 75 is configured to query the secondary data store 55. Data obtained from the secondary data store 55 in the form of search results are then stored in the primary data store 50.
  • the function of the background search engine 20 is to ensure that the primary data store 50 is current and up-to-date.
  • Background queries are continually made to external data sources 55. These background queries are at least partly constructed from user queries.
  • Data obtained from querying the secondary data store 55 is merged with the data maintained in the primary data store 50. This has the effect assigning a priority to maintaining data in the primary data store 55 that is frequently the subject of a user query.
  • Figure 2 shows an embodiment of a user search methodology 200 performed by the user search engine 15.
  • a user operating a user device 25 constructs a user search request.
  • the user search request is received 205 by the user search engine 15.
  • the user search engine 15 queries 210 the primary data store 50, and queries 215 the secondary data store 55.
  • the data aggregator 45 aggregates 220 the search results obtained from querying the primary data store and the secondary data store.
  • a background search 225 It is determined whether or not a background search 225 is needed. If a background search is needed then a new job is added 230 to the job queue store 65.
  • the aggregated search results are then ranked 235 before being presented to the user.
  • Figure 3 shows an embodiment of a background search methodology 300 performed by the background search engine 20.
  • the jobs queue manager 70 fetches 305 a search request from the job queue storage 65.
  • the background process manager 75 queries 310 the secondary data store 55 and aggregates 315 the search results.
  • the background process manager 75 also queries 320 the primary data store and aggregates 325 the search results.
  • the primary data store is updated 335 with the new data.

Abstract

In one aspect, the present invention provides a user search engine comprising a search API configured to receive a user search request and query a primary data store and at least one secondary data store, and a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store. The at least one search result from the primary data store is assigned a higher ranking than at least one search result from the at least one secondary data store, wherein the search API's further configured to expose the search results aggregated by the data aggregator.

Description

A SYSTEM, METHOD, COMPUTER PROGRAM AND DATA SIGNAL FOR CONDUCTING AN ELECTRONIC SEARCH OF A DATABASE
FIELD OF THE INVENTION
The invention relates to a search engine and search methodology, particularly for use in providing a list of search results to a user. Embodiments of the invention find particular, but not exclusive, use in the provision of a list of search results based, in part, on an aggregation of results from a plurality of data stores. In a further embodiment, the list of search results is ordered based on one or more criteria.
BACKGROUND OF THE INVENTION Search engines are known. While public Internet based search engines such as Google (TM) are known and used by billions of people around the world, there are also many specialised search engines that are used in many different computing contexts, such as searches of public and/or private data stores via web applications, mobile device 'apps' and traditional 'desktop' computing devices. Specialised search engines are fundamentally different from 'public' search engines such as Google (TM). Public search engines attempt to index and search a growing and ever changing supply of data and information. In other words, public search engines have no effective control over the nature, arrangement and type of data that they may need to index. Moreover, they have no effective control on the volume of new data created. As such, public search engines must make assumptions regarding the type of data being created and must attempt to index such data in a meaningful way.
Private search engines have the advantage of working with data sets where the structure of the data is known and predictable. As such, specialised search engines have the advantage of being optimisable for particular types of data. Therefore, it follows that private search engines should, relative to public search engines, provide more targeted and better results. However, private search engines are limited by their respective data set and the number of users capable of adding to the data set.
In short, public search engines, on the whole, have access to more data but are arguably not well indexed, whereas private search engines have access to a smaller pool of data but can be optimised to provide very detailed and accurate results.
SUMMARY OF THE INVENTION
A user search engine comprising :
Substitue Sheets
(Rule 26)
RO/AU a search API configured to receive a user search request, and query a primary data store and at least one secondary data store; and a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store; the search API further configured to expose the search results aggregated by the data aggregator.
In one embodiment, the Database contains raw data in a structured, relational format. In one embodiment, there is provided a so-called "Elastic Search cluster", which contains a data set which is functionally identical to the data set in the relational database;
however it is algorithmically indexed and optimised for search purposes.
Preferably the search API is configured to receive the user search request over a data network from a user device connected to the search engine. Preferably the search API is configured to receive the user search request from a user interface associated to a user device.
Preferably the primary data store comprises at least one electronic database.
Preferably the primary data store comprises a cluster of electronic databases.
Preferably the at least one secondary data store comprises at least one external data source remote from the primary data store.
Preferably the at least one external data source comprises at least one electronic data base.
Preferably the search engine comprises at least one data source adapter configured to receive the query from the search API; query the, or at least one of, the secondary data store(s); and expose the search results obtained from querying the secondary data store(s) to the data aggregator.
Preferably at least one data source adapter is configured to receive the query from the search API; query the, or at least one of, the secondary data store(s); and expose the search results obtained from querying the secondary data store(s) to the data aggregator. Preferably the data aggregator is configured to assign respective rankings to a plurality of search results from the primary data store that are higher than the respective rankings assigned to a plurality of search results from the at least one secondary data store. Preferably the data aggregator is configured to assign respective rankings to each of the search results from the primary data store that are higher than the respective rankings assigned to a plurality of search results from the at least one secondary data store.
Preferably a background search engine is configured to receive at least some of the search results from the data aggregator; query the at least one secondary data store; and store at least some of the search results from the at least one secondary data store in the primary data store.
Preferably the background search engine comprises a jobs queue store configured to maintain a plurality of background search requests; a jobs queue manager configured to fetch at least one search request from the jobs queue store; and a background process manager configured to receive at least one search request from the jobs queue store, query the at least one secondary data store, and store at least some of the search results in the primary data store.
A system for conducting a search of electronic data, comprising : a search API configured to receive a user search request, and query a primary data store and at least one secondary data store; and a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store; the search API further configured to expose the search results aggregated by the data aggregator.
An electronic display arranged to provide search results to a user, comprising :
A computing system including a search API configured to receive a user search request, and query a primary data store and at least one secondary data store; and a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store; the search API further configured to expose the search results aggregated by the data aggregator. A processor programmed to:
Access a search API configured to receive a user search request, and query a primary data store and at least one secondary data store; and
Access a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store; the search API further configured to expose the search results aggregated by the data aggregator.
A computer-readable medium having stored thereon computer-executable instructions that, when executed by a processor, cause the processing to perform a method of ** comprising : a search API configured to receive a user search request, and query a primary data store and at least one secondary data store; and a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store; the search API further configured to expose the search results aggregated by the data aggregator. The term 'comprising' as used in this specification means 'consisting at least in part of. When interpreting each statement in this specification that includes the term
'comprising', features other than that or those prefaced by the term may also be present. Related terms such as 'comprise' and 'comprises' are to be interpreted in the same manner. The term 'connected to' includes all direct or indirect types of communication, including wired and wireless, via a cellular network, via a data bus, or any other computer structure. It is envisaged that they may be intervening elements between the connected integers. Variants such as 'in communication with', 'joined to', and 'attached to' are to be interpreted in a similar manner. Related terms such as 'connecting' and 'in connection with' are to be interpreted in the same manner. The invention in one aspect comprises several steps. The relation of one or more of such steps with respect to each of the others, the apparatus embodying features of construction, and combinations of elements and arrangement of parts that are adapted to affect such steps, are all exemplified in the following detailed disclosure.
This invention may also be said broadly to consist in the parts, elements and features referred to or indicated in the specification of the application, individually or collectively, and any or all combinations of any two or more said parts, elements or features, and where specific integers are mentioned herein which have known equivalents in the art to which this invention relates, such known equivalents are deemed to be incorporated herein as if individually set forth. As used herein, \s)' following a noun means the plural and/or singular forms of the noun.
As used herein, the term 'and/or' means 'and' or 'or' or both.
It is intended that reference to a range of numbers disclosed herein (for example, 1 to 10) also incorporates reference to all rational numbers within that range (for example, 1, 1.1, 2, 3, 3.9, 4, 5, 6, 6.5, 7, 8, 9, and 10) and also any range of rational numbers within that range (for example, 2 to 8, 1.5 to 5.5, and 3.1 to 4.7) and, therefore, all sub-ranges of all ranges expressly disclosed herein are hereby expressly disclosed.
These are only examples of what is specifically intended and all possible combinations of numerical values between the lowest value and the highest value enumerated are to be considered to be expressly stated in this application in a similar manner.
In this specification where reference has been made to patent specifications, other external documents, or other sources of information, this is generally for the purpose of providing a context for discussing the features of the invention. Unless specifically stated otherwise, reference to such external documents or such sources of information is not to be construed as an admission that such documents or such sources of information, in any jurisdiction, are prior art or form part of the common general knowledge in the art.
Although the present invention is broadly as defined above, those persons skilled in the art will appreciate that the invention is not limited thereto and that the invention also includes embodiments of which the following description gives examples. BRIEF DESCRIPTION OF THE DRAWINGS
Preferred forms of the invention will now be described by way of example only with reference to the accompanying figures in which :
Figure 1 shows a system 10 in which an embodiment of a user search engine 15 and an embodiment of a background search engine 20 are configured to operate.
Figure 2 and 3 show flowcharts which illustrate an embodiment of a computer enabled method in accordance with an embodiment of the invention.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
User search engine At least one user operates at least one user device. Embodiments of user devices are indicated at 25I...N. User device 25i is shown as a desktop computing device. User device 252 is shown as a portable computing device for example a laptop. User device 253 is shown as a handheld device for example a tablet or smart phone. It will be appreciated that some embodiments of user devices include devices not shown in figure 1. These include for example wearable or implantable devices.
A user operates a user device 25 to search for information of interest to a user. One example of information of interest to a user includes information about nearby restaurants, bars, and other hospitality service providers. In an embodiment a browser client 30I...N installed on a respective user device 25I...N provides a user who is operating user device 25 with search functionality.
User devices 25 are connected to data network 35. The data network 35 permits the user devices 25 to exchange data between the user search engine 15, the background search engine 20, and various other components of the system 10 as will be described below. The user search engine 15 comprises a search API 40 and a data aggregator 45. The search API 40 is configured to receive a user search request. The user search request is typically created within a browser client 30 on a user device 25. In an embodiment the search API 40 is remote from the user device 25. The search request is transmitted from the user device 25 over the data network 35 to the search API 40. In an embodiment the search API 40 is installed on a user device 25. The search API 40 receives the search request from a user interface associated to the user device 25. Where the search API 40 is installed on a user device 25, the API 40 either replaces or complements the browser client 30.
The search API 40 is connected to at least one primary data store 50 and at least one secondary data store 55. In an embodiment the primary data store includes an electronic database 50i. In an embodiment the primary data store comprises a cluster of electronic databases 502. In an embodiment database cluster 5Ο2 includes a plurality of connected electronic databases, search servers, and a load balancer configured to efficiently distribute the load across members of the database cluster 5Ο2.
In an embodiment the secondary data store 55 comprises at least one external data source remote from the primary data store 50. In an embodiment at least one external data source 55 comprises an electronic database.
Search API 40 is configured to query the primary data store 50 and the secondary data store 55. In an embodiment the search API 40 queries primary data store 50 and secondary data store 55 directly. In an embodiment at least one data source adapter receives the query from the search API 40 and then queries the secondary data store 50. Examples of data source adapters are indicated at 6O1, 6Ο2 and 6Ο3 respectively. In an embodiment the user search engine 15 or the search API 40 includes one or more data source adapters 50 configured to query the secondary data store 50.
It is anticipated that the database schema(s) for the primary data store 50 is/are known to the user search engine 15. The external data sources 55 by contrast are maintained by different entities. The database schema for the respective external data sources 55 are likely to be different. For this reason it is beneficial to provide at least one data source adapter to provide an interface between a database schema desired by the user search engine 15 and the actual database schema implemented in an external data source 55.
The data aggregator 45 is configured to receive and aggregate search results from the primary data store 50 and the secondary data store 55. The data aggregator 45 exposes the search results to the search API 40. The search API 40 in turn exposes the search results to the browser client 30 on user device 25. In an embodiment the search results are transmitted over the data network 35 to the user device 25. In an embodiment where the search API 40 is installed on a user device 25, the search API makes the search results available to the user through a user interface on the user device 25. In an embodiment that includes at least one data source adapter 60, adapter 60 exposes the search results obtained from querying the secondary data store 55 to the data aggregator 45.
The data aggregator 45 is configured to assign a higher ranking to at least one search result from the primary data store 50 than at least one search result from the secondary data store 55. Assigning a higher ranking to a search result has the effect of highlighting the search result to a user operating a user device 25.
In an embodiment a higher ranking has the effect of positioning a search result with a high ranking above or in front of a search result with a low ranking when a plurality of search results are displayed in an ordered list. In an embodiment a higher ranking has the effect of otherwise highlighting a search result with a high ranking to the user. This includes positioning a search result in a different location within a user interface presented to a user, displaying a search result in a different colour or font or otherwise highlighting the search result to the user. Background search engine
In an embodiment the background search engine 20 comprises a job queue store 65, a job queue manager 70, and a background process manager 75.
In an embodiment the job queue store 65 is configured to maintain a plurality of background search requests. The background search requests are constructed at least partly from at least some of the search results from the data aggregator 45. In an embodiment the job queue store 65 stores metadata including a start time, number of execution attempts, remote resources to be accessed, data to be obtained from such remote resources, and the analysis to perform on that data.
In an embodiment the job queue manager 70 is configured to fetch at least one search request from the job queue store 65.
In an embodiment the background process manager 75 is configured to receive at least one search request obtained from the job queue store 65 by the job queue manager 70. Background process manager 75 is configured to query the secondary data store 55. Data obtained from the secondary data store 55 in the form of search results are then stored in the primary data store 50.
The function of the background search engine 20 is to ensure that the primary data store 50 is current and up-to-date. Background queries are continually made to external data sources 55. These background queries are at least partly constructed from user queries. Data obtained from querying the secondary data store 55 is merged with the data maintained in the primary data store 50. This has the effect assigning a priority to maintaining data in the primary data store 55 that is frequently the subject of a user query. Figure 2 shows an embodiment of a user search methodology 200 performed by the user search engine 15. A user operating a user device 25 constructs a user search request. The user search request is received 205 by the user search engine 15.
The user search engine 15 queries 210 the primary data store 50, and queries 215 the secondary data store 55. The data aggregator 45 aggregates 220 the search results obtained from querying the primary data store and the secondary data store.
It is determined whether or not a background search 225 is needed. If a background search is needed then a new job is added 230 to the job queue store 65.
The aggregated search results are then ranked 235 before being presented to the user.
Figure 3 shows an embodiment of a background search methodology 300 performed by the background search engine 20. The jobs queue manager 70 fetches 305 a search request from the job queue storage 65.
The background process manager 75 queries 310 the secondary data store 55 and aggregates 315 the search results.
The background process manager 75 also queries 320 the primary data store and aggregates 325 the search results.
If it appears 330 that there are new results to add to the primary data store 50 then the primary data store is updated 335 with the new data.
If there are no further search requests 340 then the background search ends. Otherwise the next search request is fetched from the job queue storage 65.
The foregoing description of the invention includes preferred forms thereof. Modifications may be made thereto without departing from the scope of the invention.

Claims

Claims:
1. A user search engine comprising a search API configured to receive a user search request and query a primary data store and at least one secondary data store, and a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store, wherein the search API further configured to expose the search results aggregated by the data aggregator.
2. A user search engine in accordance with claim 1, wherein the search API is
configured to receive the user search request over a data network from a user device connected to the search engine.
3. A user search engine in accordance with claim 2, wherein the search API is
configured to receive the user search request from a user interface associated to a user device.
4. A user search engine in accordance with claim 3, wherein the primary data store comprises at least one electronic database.
5. A user search engine in accordance with claim 4, wherein the primary data store comprises a cluster of electronic databases.
6. A user search engine in accordance with claim 5, wherein the at least one
secondary data store comprises at least one external data source remote from the primary data store.
7. A user search engine in accordance with claim 6, wherein the at least one
external data source comprises at least one electronic database.
8. A user search engine in accordance with claim 7, wherein the search engine
comprises at least one data source adapter configured to receive the query from the search API, query the, or at least one of, the secondary data store(s), and expose the search results obtained from querying the secondary data store(s) to the data aggregator.
9. A user search engine in accordance with claim 8, wherein at least one data source adapter is configured to receive the query from the search API, query the, or at least one of, the secondary data store(s), and expose the search results obtained from querying the secondary data store(s) to the data aggregator.
10. A user search engine in accordance with claim 9, wherein the data aggregator is configured to assign respective rankings to a plurality of search results from the primary data store that are higher than the respective rankings assigned to a plurality of search results from the at least one secondary data store.
11. A user search engine in accordance with claim 10, wherein the data aggregator is configured to assign respective rankings to each of the search results from the primary data store that are higher than the respective rankings assigned to a plurality of search results from the at least one secondary data store.
12. A user search engine in accordance with claim 11, wherein a background search engine is configured to receive at least some of the search results from the data aggregator, query the at least one secondary data store, and store at least some of the search results from the at least one secondary data store in the primary data store.
13. A user search engine in accordance with claim 12, wherein the background search engine comprises a jobs queue store configured to maintain a plurality of background search requests; a jobs queue manager configured to fetch at least one search request from the jobs queue store; and a background process manager configured to receive at least one search request from the jobs queue store, query the at least one secondary data store, and store at least some of the search results in the primary data store.
14. A system for conducting a search of electronic data, comprising a search API configured to receive a user search request, and query a primary data store and at least one secondary data store, and a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store, the search API further configured to expose the search results aggregated by the data aggregator.
15. An electronic display arranged to provide search results to a user, comprising a computing system including a search API configured to receive a user search request, and query a primary data store and at least one secondary data store, and a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store, the search API further configured to expose the search results aggregated by the data aggregator.
16. A processor programmed to access a search API configured to receive a user search request, and query a primary data store and at least one secondary data store, and access a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store, wherein the search API is further configured to expose the search results aggregated by the data aggregator.
17. A computer-readable medium having stored thereon computer-executable
instructions that, when executed by a processor, cause the processing to perform a method of performing an electronic search comprising a search API configured to receive a user search request, and query a primary data store and at least one secondary data store, and a data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that at least one search result from the primary data store is assigned a higher ranking that at least one search result from the at least one secondary data store, the search API further configured to expose the search results aggregated by the data aggregator.
PCT/AU2016/050970 2015-10-15 2016-10-14 A system, method, computer program and data signal for conducting an electronic search of a database WO2017063049A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2016340043A AU2016340043A1 (en) 2015-10-15 2016-10-14 A system, method, computer program and data signal for conducting an electronic search of a database

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562242247P 2015-10-15 2015-10-15
US62/242,247 2015-10-15

Publications (1)

Publication Number Publication Date
WO2017063049A1 true WO2017063049A1 (en) 2017-04-20

Family

ID=58516930

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2016/050970 WO2017063049A1 (en) 2015-10-15 2016-10-14 A system, method, computer program and data signal for conducting an electronic search of a database

Country Status (2)

Country Link
AU (1) AU2016340043A1 (en)
WO (1) WO2017063049A1 (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5388255A (en) * 1991-12-19 1995-02-07 Wang Laboratories, Inc. System for updating local views from a global database using time stamps to determine when a change has occurred
US20010004737A1 (en) * 1999-12-14 2001-06-21 Sun Microsystems, Inc. System and method including a merging driver for accessing multiple data sources
US20020087500A1 (en) * 1998-08-18 2002-07-04 Brian T. Berkowitz In-memory database system
US20030084038A1 (en) * 2001-11-01 2003-05-01 Verisign, Inc. Transactional memory manager
US20070011142A1 (en) * 2005-07-06 2007-01-11 Juergen Sattler Method and apparatus for non-redundant search results
US20070192300A1 (en) * 2006-02-16 2007-08-16 Mobile Content Networks, Inc. Method and system for determining relevant sources, querying and merging results from multiple content sources
US20080201304A1 (en) * 2007-02-16 2008-08-21 Yahoo! Inc. Federated searches implemented across multiple search engines
US20080281810A1 (en) * 2006-06-15 2008-11-13 Barry Smyth Meta search engine
US20100306213A1 (en) * 2009-05-27 2010-12-02 Microsoft Corporation Merging Search Results
US8392394B1 (en) * 2010-05-04 2013-03-05 Google Inc. Merging search results
US8688702B1 (en) * 2010-09-14 2014-04-01 Imdb.Com, Inc. Techniques for using dynamic data sources with static search mechanisms

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5388255A (en) * 1991-12-19 1995-02-07 Wang Laboratories, Inc. System for updating local views from a global database using time stamps to determine when a change has occurred
US20020087500A1 (en) * 1998-08-18 2002-07-04 Brian T. Berkowitz In-memory database system
US20010004737A1 (en) * 1999-12-14 2001-06-21 Sun Microsystems, Inc. System and method including a merging driver for accessing multiple data sources
US20030084038A1 (en) * 2001-11-01 2003-05-01 Verisign, Inc. Transactional memory manager
US20070011142A1 (en) * 2005-07-06 2007-01-11 Juergen Sattler Method and apparatus for non-redundant search results
US20070192300A1 (en) * 2006-02-16 2007-08-16 Mobile Content Networks, Inc. Method and system for determining relevant sources, querying and merging results from multiple content sources
US20080281810A1 (en) * 2006-06-15 2008-11-13 Barry Smyth Meta search engine
US20080201304A1 (en) * 2007-02-16 2008-08-21 Yahoo! Inc. Federated searches implemented across multiple search engines
US20100306213A1 (en) * 2009-05-27 2010-12-02 Microsoft Corporation Merging Search Results
US8392394B1 (en) * 2010-05-04 2013-03-05 Google Inc. Merging search results
US8688702B1 (en) * 2010-09-14 2014-04-01 Imdb.Com, Inc. Techniques for using dynamic data sources with static search mechanisms

Also Published As

Publication number Publication date
AU2016340043A1 (en) 2018-05-24

Similar Documents

Publication Publication Date Title
US9940399B2 (en) Methods and systems for pathing analysis
US20200201855A1 (en) System to generate curated ontologies
US20180004817A1 (en) Federation optimization using ordered queues
US9519703B2 (en) Refining search results for a compound search query
EP3340079A1 (en) Data promotion
WO2015066591A1 (en) Ranking information providers
EP3362962A1 (en) Information processing system, information processing method, and non-transitory computer-readable storage medium storing program
CN111061766A (en) Business data processing method and device, computer equipment and storage medium
EP3963288A1 (en) Communications server apparatus, methods and communications systems for recommending one or more points-of-interest for a transport-related service to a user
JP2009037501A (en) Information retrieval apparatus, information retrieval method and program
US20190278691A1 (en) Automated recovery of flighted features based on service requests
JP6648283B2 (en) Note providing method and apparatus using artificial intelligence based relevance calculation
US8413222B1 (en) Method and apparatus for synchronizing updates of authentication credentials
US20170344640A1 (en) Search deconstruction, reconstruction, and allocation
JP5010575B2 (en) Information search apparatus, search result presentation method, and program
KR20130083882A (en) The genealogy system made up smasrt phone app with genealogy database
WO2017063048A1 (en) A system, method, computer program and data signal for the provision of a database of information for lead generating purposes
WO2017063049A1 (en) A system, method, computer program and data signal for conducting an electronic search of a database
US20140289219A1 (en) Ranking search engine results
CN115705330A (en) Data query method and device, electronic equipment and readable storage medium
JP2022106948A (en) Information display method, device, electronic apparatus, storage media, and computer program
US10223467B2 (en) Search criterion disambiguation and notification
JP2017513155A (en) SEARCH METHOD, APPARATUS, DEVICE, AND NONVOLATILE COMPUTER STORAGE MEDIUM
US20230401221A1 (en) Cross-tables search method, electronic device, and storage medium
JP2013196315A (en) Information processing apparatus and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16854653

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2016340043

Country of ref document: AU

Date of ref document: 20161014

Kind code of ref document: A

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 14.08.2018)

122 Ep: pct application non-entry in european phase

Ref document number: 16854653

Country of ref document: EP

Kind code of ref document: A1