The Challenge

How do you empower customers to find the right job candidate from a database of 8 million profiles?

The Solution

By using Elasticsearch to provide fast, reliable and highly accurate search results

Case study highlights

Deliver powerful search

  • Process 8 million candidate profiles
  • Assure fast and predictable performance
  • Employ geo-query and other advanced features

Ensure data integrity

  • Eliminate redundant data
  • Find and correct inaccurate data
  • Identify profiles with missing data

Finding the right candidate from 8 million profiles

Gild is a San Francisco-based firm that helps companies hire skilled developers. Gild's tech hiring software is backed by proprietary data analysis that examines the actual work and proven abilities of the developers, not just their resumes. Gild's growing customer base, which includes companies like Eventbrite, Red Hat, and Rackspace, uses Gild to search through 8 million profiles of developers to find the talent they need.

"When we started to build our platform, it was very clear to us that one of the main components of our service would be the search engine," says Francesco Laurita, VP of Engineering at Gild. "So we started to develop a site based on the search capabilities of MongoDB. Then we realized MongoDB would never be able to scale up enough – the number of profiles was growing by a million records every month. In addition, MongoDB was not designed for search. We started to look around for something else, and fortunately we found Elasticsearch."

Easily integrating Elasticsearch into the application

Gild chose Elasticsearch as the basic search on the front end of the website, enabling customers to find candidates quickly and easily.

"For us, search is everything," Laurita says. "Our customers can interact with our data only by searching it so we rely on Elasticsearch to deliver a great experience."

Gild found Elasticsearch very easy to integrate with their application – which was written in Ruby, Python and Java – because of the REST API. And because Elasticsearch is backed by Apache Lucene. Gild was able to have an Elasticsearch cluster up and running in just a few days.

"We found Elasticsearch very easy to work with, and we got great results, with very little effort," Laurita notes. "The time spent programming versus the benefit is absolutely a win."

"When we have a new feature, we can just create a new index from scratch on the same cluster," he adds. "It is very easy to put Elasticsearch into our day-to-day development."

Fine tuning customer searches

In addition to using Elasticsearch on the front end for their customer-facing application, Gild also uses Elasticsearch internally, to store all searches conducted by customers. That information is then incorporated into the R&D process to better understand what kinds of candidates and skills are in-demand, ultimately enabling Gild to enhance the search experience for customers.

"We use Elasticsearch to determine exactly what our customers are looking for so we can provide them with other profiles that match their criteria," Laurita explains. "Elasticsearch makes that easy with the Custom Score Query feature. Ultimately, with Elasticsearch, we are providing our customers with better results."

In this way, Elasticsearch helps Gild deeply understand their customers and better meet their needs. The Custom Score Query has been so popular that Elasticsearch has enhanced the functionality in later versions, replacing it with the augmented Function Score Query which is now available in the 1.0 release.

"Beyond enhancing search results, we use Elasticsearch to ensure data quality."

Francesco Laurita, VP of Engineering

Improving data accuracy with Elasticsearch

"Beyond enhancing search results, we use Elasticsearch to ensure data quality," Laurita concludes. "We need to gather data fast, and that data has to be checked against 8 million profiles. Elasticsearch enables us to accomplish this quickly and accurately."

Gild uses Elasticsearch to ensure the accuracy of the profile data to help eliminate duplicate profiles and to assess the quality of a profile so that they can hide results that do not have enough useful information.

"For our product, data quality is everything," says Laurita. "If a recruiter has to find the right candidate, and our system does not provide the right location, it is just a waste of time for them."

Gild's benefits using Elasticsearch

Enhance customer experience

By providing fast query response time, more accurate results, geo-queries and more, Elasticsearch enables Gild to improve the customer experience.

Streamlined development

Elasticsearch is easy to integrate into Gild's application, streamlining the development process and accelerating time to market for new features.

Reliability and availability

Elasticsearch delivers predictable performance, reliability and high availability so customers can access the Gild system 24/7.

Data integrity

Gild utilizes Elasticsearch internally to identify and correct inaccurate data before a profile is displayed to customers.