Mar 10, 2014. Case Study: Sphinx@Jobma

In this blog post, we’ll talk about how Jobma improved search for their users by switching from MySQL fulltext search to Sphinx. Enjoy!

What is Jobma?

Jobma is a new job portal based solely on Video Resumes, which permits job seekers to quickly and directly reach potential employers. The hiring process is easier with the help of a video resume because it directly exhibits the applicant’s caliber to the Recruiter. The Jobma portal compiles traditional resume, video resume and social media channels, altogether in one place so that job-seekers can manage all of them simultaneously in an efficient manner. Similarly, Jobma works efficiently for Employers as well, as they can manage the job-postings, review aspirants and much more

Challenge

Jobma is a quickly growing job-portal. Fast indexing is essential because new users are constantly being added to its database. And, maintenance of this large data-pool in the system also requires fast indexing and searching. Indexing and searching performance is central to Jobma’s goal of creating a smooth user experience.

The Jobma team described their challenge like this:

“Currently, it’s quite a difficult task to use fulltext search in MySQL because we use INNODB as our database engine. With the large amount of data in the database, and with the continuous updates and searches with several search criteria (such as Boolean search, proximity search and many more similar to this), the system experienced a drastic decline in performance.”

Solutions

Facing the challenge of declining performance, the Jobma team sought out solutions and discovered Sphinx. Here is what they had to say:

“To get rid of all the performance related issues, we planned to implement Sphinx on our current system. Sphinx is an open source search server that enables huge improvements to performance. It optimizes the series of operations by enabling batch indexing of data stored in any SQL database (in our case, MySQL) and offloading text search, ordering, and grouping. After choosing Sphinx, all searching queries, with all their different criteria, are performing faster and easier. With the previous system we saw drastic hits to performance– with Sphinx, this is no longer an issue.”

Results

Jobma successfully deployed Sphinx Version 2.0.4 and eradicated all the issues occurring with MySQL fulltext search performance. Now, the series of operations performed over the system are not slowing down its speed and performance. Moreover, with Sphinx’s flexible fulltext query syntax, users are seeing more relevant results.

Looking forward

Jobma has around half a million users with 2-3 thousand new users registered daily and they’re running about 5 thousand queries per day. They’ve implemented on-disk (batch) indexing and they use the Sphinx PHP API (but they’re exploring SphinxQL because they’ve heard that it’s the generally recommended route). Also, they’re currently considering switching from disk to real time indexes.

In short, Sphinx presents easy solutions to many performance problems that arise when using MySQL fulltext search. Jobma is one more happy Sphinx user!


« »

Leave a Reply