Ocean uses a popular, powerful search engine called Elasticsearch [https://www.elastic.co/what-is/elasticsearch] to find relevant health service directory listings. Elasticsearch allows Ocean to use multiple criteria when searching for listings, including text keywords, location, distance, wait time, subspecialty information, and other properties.
Search Criteria
The primary search criteria is usually typed by the user, such as "cardiology" or "North Toronto Medical", similar to how Internet searches like Google work. These searches perform a keyword-based search that scans the listing's title, description, and service offerings for matches. Users also have the option of selecting a specific value from an automatic dropdown list, such as "MRI", to precisely find listings that are specifically tagged as offering these services.
Users can add additional constraints on top of this primary search, such as spoken language, using the "Advanced Search". To avoid returning distant results, the search uses the currently-visible map boundary as an initial constraint. After an initial search, a user has the option to search the "whole directory", which removes this map boundary constraint. Similar to Google Maps, users may also click to drag the map around, then click the button in the new area of the map to "Search This Area."
Sorting
When a user triggers a search in the healthmap, Ocean uses a default sort preference that relies on the relevance "score" provided by ElasticSearch, which may be guided by factors such as keyword matching. In addition, Ocean applies a simple weight to the score to ensure the following listings are prioritized, in the following order:
- User favourites
- Site favourites
- Government central intakes and rapid-access clinics (as designated by Provincial Ministry of Health)
- Listings that are currently accepting eReferrals or eConsults
- Listings that redirect to a central intake eReferral site
- Other listings
Users also have the option to use the drop-down sort option to further sort the default results, which will impact the order of results. Ocean offers a sort by distance (shortest distance measured from the patient's home or the central map pin, if the patient's address is unavailable), or by the shortest Wait Time (Wait 1 / Wait 2). After a sort order has been applied to a search, it is retained for subsequent searches in the same session.
Please Note: As a matter of policy, Ocean does not make individual adjustments to promote or demote listing results. Search order results may change at any time, based on the ElasticSearch relevance calculation.