WO2017063048A1 - A system, method, computer program and data signal for the provision of a database of information for lead generating purposes - Google Patents

A system, method, computer program and data signal for the provision of a database of information for lead generating purposes Download PDF

Info

Publication number
WO2017063048A1
WO2017063048A1 PCT/AU2016/050969 AU2016050969W WO2017063048A1 WO 2017063048 A1 WO2017063048 A1 WO 2017063048A1 AU 2016050969 W AU2016050969 W AU 2016050969W WO 2017063048 A1 WO2017063048 A1 WO 2017063048A1
Authority
WO
WIPO (PCT)
Prior art keywords
data store
search
user
primary data
receive
Prior art date
Application number
PCT/AU2016/050969
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 AU2016340042A priority Critical patent/AU2016340042A1/en
Publication of WO2017063048A1 publication Critical patent/WO2017063048A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases

Definitions

  • the invention relates to a search engine and search methodology, particularly for use in providing a database of information for lead generating purposes.
  • Embodiments of the invention find particular, but not exclusive, use in the provision of a list of leads, in part, on an aggregation of results from a plurality of data stores.
  • 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 all types of 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.
  • search engines return search results, it is sometimes necessary or helpful to review the search results to determine whether such results are already known
  • search API configured to receive a user search request, and query a primary data store and at least one secondary data store
  • data aggregator configured to receive and aggregate search results from the primary data store and the at least one secondary data store such that where one search result from the primary data store does not locate an entry corresponding to that at least one search result from the at least one secondary data store
  • the search API is further configured to provide the primary data store to the user by entering the search results into a database of lead information.
  • 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.
  • 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 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 capturing lead information identified during 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 where one search result from the primary data store does not locate an entry corresponding to the at least one search result from the at least one secondary data store; the search API is further configured to provide the primary data store to the user by entering the search results into a database of leads.
  • An electronic display arranged to provide information regarding leads 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 if at least one search result from the primary data store is not located in at least one search result from the at least one secondary data store; the search API provides the search results to a user by saving the results in a leads database.
  • 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 if at least one search result from the primary data store is not located in at least one search result from the at least one secondary data store; the search API provides the search results to a user by saving the results in a leads database.
  • a processor programmed to identify and save lead information identified as the result of a search comprising : a search API configured to operate on the processor and receive a user search request, and query a primary data store and at least one secondary data store; and a data aggregator configured to operate on the processor and receive and aggregate search results from the primary data store and the at least one secondary data store such that where one search result from the primary data store does not locate an entry corresponding to that at least one search result from the at least one secondary data store; the search API is further configured to provide the primary data store to the user by entering the search results into a database of leads.
  • a computer-readable medium having stored thereon computer-executable instructions that, when executed by a processor, cause the processing to perform a method of identifying leads in a database of information 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 where one search result from the primary data store does not locate an entry corresponding to that at least one search result from the at least one secondary data store; the search API is further configured to provide the primary data store to the user by entering the search results into a database of leads.
  • 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.
  • ⁇ 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.
  • 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. 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.
  • 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.
  • the new results are identified and highlighted or "tagged", to identify new leads.

Abstract

In one aspect, the invention provides an engine for capturing lead information returned during an electronic search. The engine comprises 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 where one search result from the primary data store does not locate an entry corresponding to the at least one search result from the at least one secondary data store. The search API is further configured to provide the primary data store to the user by entering the search results into a database of lead information.

Description

A SYSTEM, METHOD, COMPUTER PROGRAM AND DATA SIGNAL FOR THE PROVISION OF A DATABASE OF INFORMATION FOR LEAD GENERATING
PURPOSES
FIELD OF THE INVENTION The invention relates to a search engine and search methodology, particularly for use in providing a database of information for lead generating purposes. Embodiments of the invention find particular, but not exclusive, use in the provision of a list of leads, in part, on an aggregation of results from a plurality of data stores.
BACKGROUND OF THE INVENTION Search engines are known. While 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 all types of 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.
Moreover, when search engines return search results, it is sometimes necessary or helpful to review the search results to determine whether such results are already known
Substitue Sheets
(Rule 26)
RO/AU to the user. It is with this context in mind that the embodiments and broader invention defined herein have been developed.
SUMMARY OF THE INVENTION
An engine for capturing lead information returned during 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 where one search result from the primary data store does not locate an entry corresponding to that at least one search result from the at least one secondary data store; the search API is further configured to provide the primary data store to the user by entering the search results into a database of lead information.
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 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 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 capturing lead information identified during 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 where one search result from the primary data store does not locate an entry corresponding to the at least one search result from the at least one secondary data store; the search API is further configured to provide the primary data store to the user by entering the search results into a database of leads.
An electronic display arranged to provide information regarding leads 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 if at least one search result from the primary data store is not located in at least one search result from the at least one secondary data store; the search API provides the search results to a user by saving the results in a leads database.
A processor programmed to identify and save lead information identified as the result of a search, comprising : a search API configured to operate on the processor and receive a user search request, and query a primary data store and at least one secondary data store; and a data aggregator configured to operate on the processor and receive and aggregate search results from the primary data store and the at least one secondary data store such that where one search result from the primary data store does not locate an entry corresponding to that at least one search result from the at least one secondary data store; the search API is further configured to provide the primary data store to the user by entering the search results into a database of leads. A computer-readable medium having stored thereon computer-executable instructions that, when executed by a processor, cause the processing to perform a method of identifying leads in a database of information 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 where one search result from the primary data store does not locate an entry corresponding to that at least one search result from the at least one secondary data store; the search API is further configured to provide the primary data store to the user by entering the search results into a database of leads.
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 : Detailed description
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.
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.
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. In addition, the new results are identified and highlighted or "tagged", to identify new leads.
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:
An engine for capturing lead information returned during 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 where one search result from the primary data store does not locate an entry corresponding to the at least one search result from the at least one secondary data store, wherein the search API is further configured to provide the primary data store to the user by entering the search results into a database of lead information.
An 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.
An engine in accordance with claim 1 or 2, wherein the search API is configured to receive the user search request from a user interface associated to a user device.
An engine in accordance with claim 1, 2 or 3, wherein the primary data store comprises at least one electronic database.
An engine in accordance with any one of claims 1 to 4, wherein the primary data store comprises a cluster of electronic databases.
An engine in accordance with any one of claims 1 to 5, wherein the at least one secondary data store comprises at least one external data source remote from the primary data store.
An engine in accordance with any one of claims 1 to 6, wherein the at least one external data source comprises at least one electronic database.
An engine in accordance with any one of claims 1 to 7, 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.
An engine in accordance with any one of claims 1 to 8, 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.
10. An engine in accordance with any one of claims 1 to 9, 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.
11. An engine in accordance with any one of the preceding claims, 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. 12. A system for capturing lead information identified during 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 where one search result from the primary data store does not locate an entry corresponding to the at least one search result from the at least one secondary data store, the search API is further configured to provide the primary data store to the user by entering the search results into a database of leads.
13. An electronic display arranged to provide information regarding leads 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 if at least one search result from the primary data store is not located in at least one search result from the at least one secondary data store, wherein the search API provides the search results to a user by saving the results in a leads database.
14. A processor programmed to identify and save lead information identified as the result of a search, comprising a search API configured to operate on the processor and receive a user search request, and query a primary data store and at least one secondary data store, and a data aggregator configured to operate on the processor and receive and aggregate search results from the primary data store and the at least one secondary data store such that where one search result from the primary data store does not locate an entry corresponding to the at least one search result from the at least one secondary data store, wherein the search API is further configured to provide the primary data store to the user by entering the search results into a database of leads.
15. A computer-readable medium having stored thereon computer-executable
instructions that, when executed by a processor, cause the processing to perform a method of identifying leads in a database of information 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 where one search result from the primary data store does not locate an entry corresponding to the at least one search result from the at least one secondary data store, the search API being further configured to provide the primary data store to the user by entering the search results into a database of leads.
PCT/AU2016/050969 2015-10-15 2016-10-14 A system, method, computer program and data signal for the provision of a database of information for lead generating purposes WO2017063048A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2016340042A AU2016340042A1 (en) 2015-10-15 2016-10-14 A system, method, computer program and data signal for the provision of a database of information for lead generating purposes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562242268P 2015-10-15 2015-10-15
US62/242,268 2015-10-15

Publications (1)

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

Family

ID=58516901

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2016/050969 WO2017063048A1 (en) 2015-10-15 2016-10-14 A system, method, computer program and data signal for the provision of a database of information for lead generating purposes

Country Status (2)

Country Link
AU (1) AU2016340042A1 (en)
WO (1) WO2017063048A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110555152A (en) * 2018-03-31 2019-12-10 甘肃万维信息技术有限责任公司 distributed search system based on Elasticissearch framework

Citations (5)

* 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
US20030084038A1 (en) * 2001-11-01 2003-05-01 Verisign, Inc. Transactional memory manager
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

Patent Citations (5)

* 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
US20030084038A1 (en) * 2001-11-01 2003-05-01 Verisign, Inc. Transactional memory manager
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110555152A (en) * 2018-03-31 2019-12-10 甘肃万维信息技术有限责任公司 distributed search system based on Elasticissearch framework

Also Published As

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

Similar Documents

Publication Publication Date Title
US10977328B2 (en) Providing notifications based on geofencing search results
US20180210962A1 (en) Methods and systems for pathing analysis
US9519703B2 (en) Refining search results for a compound search query
US20180004817A1 (en) Federation optimization using ordered queues
US9990442B2 (en) Method for determining relevant search results
US20180253778A1 (en) Information processing system, information processing method, and non-transitory computer-readable storage medium storing program
WO2020220188A1 (en) Communications server apparatus, methods and communications systems for recommending one or more points-of-interest for a transport-related service to a user
US20130198217A1 (en) Techniques for testing rule-based query transformation and generation
CN111061766A (en) Business data processing method and device, computer equipment and storage medium
JP2009037501A (en) Information retrieval apparatus, information retrieval method and program
CN113553339B (en) Data query method, middleware, electronic device and storage medium
US10324986B2 (en) Search deconstruction, reconstruction, and allocation
US11386131B2 (en) System and method for multi-language search
US8413222B1 (en) Method and apparatus for synchronizing updates of authentication credentials
US20170323019A1 (en) Ranking information providers
WO2019127772A1 (en) Data dictionary display method and device, terminal device and storage medium
WO2017063048A1 (en) A system, method, computer program and data signal for the provision of a database of information for lead generating purposes
US8990192B2 (en) Search engine optimization using a find operation
US9195716B2 (en) Techniques for ranking character searches
CN106844406B (en) Search method and search device
WO2017063049A1 (en) A system, method, computer program and data signal for conducting an electronic search of a database
US10866960B2 (en) Dynamic execution of ETL jobs without metadata repository
US10223467B2 (en) Search criterion disambiguation and notification
CN115705330A (en) Data query method and device, electronic equipment and readable storage medium
EP2992456A1 (en) Identifying search matches and altered search results

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: 16854652

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: 2016340042

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 1205 DATED 14/08/2018)

122 Ep: pct application non-entry in european phase

Ref document number: 16854652

Country of ref document: EP

Kind code of ref document: A1