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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; 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
Description
Claims
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)
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 |
-
2016
- 2016-10-14 AU AU2016340043A patent/AU2016340043A1/en not_active Abandoned
- 2016-10-14 WO PCT/AU2016/050970 patent/WO2017063049A1/en active Application Filing
Patent Citations (11)
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 |