Some time ago we started a discussion on how to support an upgrade to the ElasticSearch servers. Our code-base around search was old and it was using outdated and unmaintained libraries that made the upgrade procedure a tough process. The outcome of this discussion was that we wanted to provide a better search experience, better maintainability and decouple our code-base to infrastructure related changes. From that, it became clear that we needed to refactor the search component of mozillians.org.
Yesterday, we managed to release the first iteration of this refactor together with the migration of mozillians.org to its new home. Although this is still work in progress, we believe that the search experience has improved.
The new search functionality is designed around the privacy attributes of each profile. We used to have two search indexes. One for public profiles and one for Mozillians only profiles. Each profile was considered public if a combination of attributes were public. Although this worked, it didn’t provide the level of detail that we would like. With the new design, we are using a unified index of profiles and each field with its respective privacy setting, is queried separately.
In this first iteration, search has expanded to include more information from the site. Vouched Mozillians can now search profiles based on timezone and we also included groups in the search!
Last but not least, we managed to deprecate a big part of the old code-base which is going to help us a lot with the maintainability and serviceability of the site.
But that’s not all. Soon, users will be able to use binary operators (AND, OR, NOT) in their search queries for fine-grain results. We are already working on this long-awaited feature and we expect it to land in the coming month.