This article is a behind the scenes explanation of how our search works, if you want to learn more about searching for courses check our article Searching for courses or searching students article How to find and search students?.
If EducationLink were like any other software, we would ask you to choose some filters before start searching. Why would we do that? Because search is expensive, is computationally expensive. Our database of courses has more than 50k entries and growing, everytime you search we have to look into every single entry and return the most relevant results, that's why the majority of systems asks you to filter before you search: by doing this they're limiting the number of entries/courses they have to look into. But EducationLink is not your common software.
Our customers and users send us signals every time they interact with EducationLink. You may be looking for an english course in Sydney or a masters in London. But when we search, we're used to use the words and jargons of our day-to-day, which is not at all what a computer understands. Therefore, to have a Google-like experience when searching for courses we needed to step-up our game.
EducationLink is capable of delivering real-time results from the first keystroke. As soon as you start typing EducationLink is awaiting you to finish so we can run the search. Note that we only wait for you to finish when searching for courses and services not students, providers, users, etc. Why that?
Our product search engine (courses, accommodation, insurance, etc), is one of the most complex parts of EducationLink. Everytime you search EducationLink will fetch real-time prices (including with insurances like nib and Medibank/Ahm), intakes, and more.
Whenever you search for a provider, user, or any other section of EducationLink is much easier for EducationLink to find what you're looking for, therefore we search for what you're looking for as soon as the first key is stroke.
The way we search has changed a lot in the past decade. The original function of the Enter key was to begin a search, today it’s used to select a result that’s already been displayed. The type of information that people search for has changed too.
Today’s search engines are used for much more than just web sites and documents—they’re also used to find specific items like people, places and products. To make sure we try to always find the best match for your search query we used a myriad of things:
Typos: When searching for anything we take in consideration the number of typos as a criteria of relevance. This criterion allows you to rank results containing typos below results with the correct spelling. For example, in a search for “Geox”, you would prefer to have the “Geox” result (a typo-free match) displayed before“Gox” (a 1-letter-off typo).
Number of words: The number of words criterion is the number of query words found in the record. Usually the more words found in the results, the higher the relevance
Proximity of words: The proximity of words criterion is the distance between the matched words in the result. It’s used to rank records where the query words are close to each other before records where the words are farther apart.
Importance of attributes: The importance of attributes criterion identifies the most important matching attribute(s) of the record (a record can be a course, college, insurance, etc). Since records can contain more than one attribute, it’s not uncommon for one query to match multiple attributes of the same record or different attributes of different records. However, a match of one attribute might be more important than another when it comes to ranking, and that’s precisely why we have the attribute criterion.
Exactness: The exactness criterion is the number of words that are matched exactly. This criterion is very important for building quality instant (search-as-you-type) experiences.
Synonyms: In any search engine, adding synonyms is one of the most important customization to introduce domain-specific knowledge. Synonyms make it possible to tune search results without having to make major changes to records. Supporting synonyms is no easy task especially for multi-word expressions, which introduce complexity in the handling of the proximity measure between matched words. But by supporting it we can search for general english courses even when you type "elicos".
Natural language processing: But it all starts with understanding what you're typing as a human would. before we even run your search query, we identify what are you actually searching for. When you type "ilsc in toronto in promotion", EducationLink is capable of understanding that ILSC is the college, Toronto is the city in Canada and that you want the cheapest or in promotion courses first. Took 2 years for us to create a reliable system with NLP (natural language processing) and it demands continuous improvement.
Learning with your search: The more you use our search, issue quotes, send applications and add sales, the more EducationLink is capable of learning which courses our users like and start to recommend them more often.
Finally, we have to accomplish all the above thousands of times per second. Our search engine has an availability of 99.999% which allows us to have a 24/7 uninterrupted service. On top of that, in 2018 EducationLink returned 99% of search queries in under 17ms (course search usually is 500ms).
EducationLink has a team to keep the prices up-to-date for you, learn more about that in our article Course (and other services) price updates: how does it work?. In case you want to update your own prices, check our article Managing products: courses, insurance, airline tickets, accommodation, fees and more.