We improved our job search capabilities with Algolia's realtime searching, offering a much better overall experience, officially released to public yesterday, October 12, 2016.
Algolia is a lightning fast, intuitively relevant, cross-platform hosted search API, built by developers for developers.
This sounds almost too good to be true, so we couldn't resist the temptation to try it out ourselves. We started off by reading their excellent documentation, which contains all the necessary information to get you started.
After reading the docs, it was pretty clear what we had to do:
- create a mapping of the objects that needed to be in the index
- pushed the mapping into the index (which receives a schema-less JSON and auto-detects attributes)
- write hooks/events for automatic reindexing of created/updated jobs
- modify the front-end to search directly in Algolia's index
This was a pretty straight-forward implementation, without any hassle. Searching is done via Algolia's instantsearch.js UI library, the front-end is powered by Underscore.js to show the results, keeping everything exactly the same as it was before.
We now support advanced query syntax. You could easily search for "php" without including results containing "zend", but including "symfony", like this: "php +symfony -zend" (without quotes).
Improvements were made also on the proper indexing of punctuation characters, like "+#.", enabling searching for: "C++" or "C#" without receiving result for "C".
All this comes with proper filtering/faceting, with blazing fast results, averaging between 2ms-4ms, 90th % at 4ms-5ms, 99th % at 6ms-8ms. Wow!
Algolia is definitely a welcomed improvement. Try it out yourself and give us a feedback in the comments section below.