Optimizing Company Search: How Tags and Caching Improved Results

We implemented a tagging and caching system that significantly accelerated company search.

---

Introductory Thoughts on the Company Search Issue

A recent discussion in our Slack channel served as a starting point for us. One of the developers raised the issue of slow company searches, which was causing dissatisfaction among users. This was particularly evident when recruiters tried to quickly find suitable candidates, directly impacting their efficiency.

Why This Matters

The company search issue directly affected our matching team, which was responsible for creating successful connections between candidates and employers. We understood that slow searches could lead to lost potential clients and a diminished user experience. Recruiters, not getting the needed results quickly, began to look for alternatives, which was unacceptable for us.

Specific Search Problems

During testing, one team member noted that searching for companies by tags took up to 15 seconds. This time increased when the database was loaded. For instance, when a recruiter entered a query to search for companies with specific tags, the system sometimes failed to respond in time, resulting in users receiving an error message. This created a poor impression of the platform.

Initial Attempts at Resolution

Initially, we decided to optimize database queries; however, this did not yield the expected results. We improved the indexes, but the response time barely changed. Ultimately, we realized that simply optimizing queries would not solve the problem, and we began to explore other approaches.

Technical Solution — Tags and Caching

We decided to implement a tagging and caching system, which significantly improved response times. Tags allowed us to group companies by categories, while caching reduced the load on the server. Here is an example of how caching was implemented:

cache = {}
def get_companies_with_tags(tags):
    cache_key =

Related materials

  • Chart plannedГрафик производительности поиска
    Сравнение времени ответа до и после внедрения кеширования.
  • Architecture diagram plannedСтруктура системы тегирования
    Схема, показывающая, как теги взаимодействуют с базой данных.

Also on Fitlane AI

Topics: поиск компаний, теги, кеширование, оптимизация, инженерия, Fitlane AI, поиск