Elasticsearch.
It was towards the end of a long summer in 2019. During those days at Techloop, we came to the conclusion that we can do better. While consistently trying to help our users with matchmaking, mainly through using our knowledge of HR and IT industry, we wanted to do more through product. Our goal was to be able to give our users better tools for finding new colleagues or for finding new opportunities, as well as projects to work on. It’s not that the product tools we used were not good, but we just outgrew them, and needed something that allowed us to be more flexible.
It was time for a change – an upgrade. Due to the type of data we are storing and searching in – an interconnected mix of numerical values, structured lists, multiple geolocations, unstructured free text with a little pinch of document management – the decision was pretty clear. Enter ElasticSearch.
Elasticsearch story – it started with a recipe app
In the early 2000s in a London apartment, Shay Banon was looking for a job while his wife attended cooking school at Le Cordon Bleu. In his spare time, he started building a search engine for her growing list of recipes. Nearly 20 years later, after many changes and going public on New York Stock Exchange, ElasticSearch is the most popular enterprise search engine. And with good reason – Elasticsearch is search and analytics engine for all types of data, including textual, numerical, geospatial, structured, and unstructured. And not only can it handle all our varying data, but it is fast, scalable and also open source.
But what does it mean for you, our users? It means we can build a groundwork for better search and better matchmaking, more than just pure filtering by a skill or location. We want it to take into consideration other information about the IT professional as well, for example not only if he/she is currently looking for work but also if he/she is overall active and responding to conversation offers. We would also like to send IT professionals offers that might be interesting for them from other viewpoints than just skill-based match. Our company users can see the first results of our ElasticSearch implementation now in our Companies app and more innovations will soon follow.
Elastic search from our product team point of view
Elastic search is a powerful Open source search engine. Our platform uses Elastic as a data layer between PostgreSQL (Oh yeah, we really are open-source fans) database and frontend applications. For security reasons, it contains only anonymised data.
Why did we choose Elastic?
It is an easy answer. It provides more features than we currently need, but we already know that in the future, we will use most of them. We also plan to use the rest of the technologies provided by Elastic Stack. And you know what? All of these technologies are Open-source.
Document storage
For storing, Elastic uses data document storage which is designed to be easily searchable. This storage provides another positive side effect and we can use it as a pretty fast cache without bothering our database servers.
Powerful full-text search
We can now really improve user experience with much more precise results built on the full-text analyser. We are able to analyse similarities and give users other relevant results based on their choices.
Geospatial search
Another nice surprise in Elastic search is Geospatial data type which supports all important geo queries (eg. find in distance). In combination PostgreSQL, PostGIS, pgRouting and Elastic we will be able to search not only in the distance but also in driving distance which again improves user experience.
Future
Speaking as a developer, there are a lot of features we want to play with in the future, but one of them would be probably above the others. We will be still continuously improving our platform, but we would like to start implementing machine learning on our data sets and analyse them and their changes in time.
We are at the beginning of a beautiful and interesting adventure – come and experience it with us! 🙌