Hi, I’m Quentin de Quelen, the CEO of Meilisearch, an open-source search engine API built in Rust. At Meilisearch, we are committed to the open-source community and believe in the power of collaboration to drive innovation. This year, we made significant strides in delivering the best possible search experience to our users and customers, including raising funds, launching new products in beta, and continuing to optimize our engine and improve our API.
This article will highlight some of the major improvements that we made in 2022.
New product: Meilisearch Cloud
Back in March of 2022, we communicated for the first time about Meilisearch Cloud, our fully-managed search engine solution for organizations of all sizes. This new offering makes it easy and fast to set up a search engine without technical expertise or infrastructure management.
After almost a full year of closed beta, we opened Meilisearch Cloud to the world at the end of 2022. While there are still a few improvements coming before we officially release the product—such as usage-based price which aims to give users the flexibility to scale their search engine as needed—we’re tremendously proud of the progress we made in 2022.
We believe Meilisearch Cloud will revolutionize the search industry and are dedicated to continuously improving and evolving the product. We would love to hear your feedback on this new offering and are excited to see how it can benefit our users and customers.
Strengthening the search engine
In 2022, we released six major versions of the Meilisearch engine: v0.25, v0.26, v0.27, v0.28, v0.29, and v0.30. Each release brought significant new features, performance improvements, and quality-of-life changes. This resulted in a fivefold increase in the number of Meilisearch users in only one year.
This year, Meilisearch gained full support for nested document fields. This feature allows users to access and use nested fields in any API parameter that accepts document attributes, simply by using dot notation. We want users to be able to take advantage of Meilisearch's capabilities without ever having to format their data.
API keys and tenant tokens
We introduced API key management in Meilisearch in 2022. With tenant tokens, developers can now create JWTs (JSON Web Tokens) on the fly that restrict access to specific documents based on the end user making the search request. This allows for multi-tenant indexes and gives developers more control over the search experience for their users.
New filter operations
We've added two new operators to the existing filtering capabilities:
IN. When combined with the
!) operator, they provide greater flexibility and precision in search results. This makes it easier for users to find what they're looking for and get the most out of Meilisearch's powerful search capabilities.
Meilisearch now accepts a configuration file in the
.toml format as an alternative to command-line options and environment variables. Configuration files can be easily shared, versioned, and allow for the definition of multiple options.
Full pagination support
Pagination is critical for some applications, but for a long time Meilisearch was not well equipped for pagination-based navigation. To address this, we introduced two new search parameters:
hitsPerPage. Queries with these parameters return the exhaustive number of
totalPages, which can be used to create UI elements such as numbered page selectors.
Coming into 2022, we knew that indexation performance was one of the biggest issues with Meilisearch. While we were incredibly fast on search, this brought with it a tradeoff on indexing.
A few months ago, we recommended to people with more than 10M documents not to use Meilisearch, as the time to index their documents would be absurd. I'm proud to say that this is no longer the case!
Optimized task manager
This year, we introduced auto-batching of tasks, which has greatly improved performance. This was accompanied by a completely rewritten task manager that adds a lot of intelligence to task queue management. It can recognize different tasks, reorganize them, and even delete unnecessary ones. This new task manager also enabled us to add features like task cancellation and deletion, and index swapping for zero downtime deployments.
Our team has also worked hard to improve indexation speed. In brief, we added a soft deletion mechanism that improves both deletion and document update, optimized all aspects of filtering and sorting, and optimized RAM and CPU consumption during indexation.
This work is not yet complete; we have many more ideas to improve indexation performance. Nonetheless, we believe that the progress we made this year was significant! If you are still having issues with indexation speed, please reach out to us on Discord.
Better developer experience
Our engine is built on three pillars: relevancy, speed, and developer experience, or DX. We have always prioritized DX as we made changes to the engine, but this came with the trade-off of introducing many breaking changes as we pursued an intuitive HTTP API.
Many API endpoints changed in 2022. The first is the search endpoint; we have completely reimplemented the cropping of fields, with something smarter that looks at the field context to crop in the best place. We also, as mentioned before, changed the task management system entirely with a new API that allows canceling and deleting tasks.
The good news is that the breaking changes are almost over: stability is coming to Meilisearch’s API. You won't have to wait long for v1, as it's planned for February 2023!
In 2022, our team implemented several enhancements to make Meilisearch more customizable and user-friendly.
In v0.27, we added the ability to customize the typo tolerance applied to search queries. This allows users to set the level of tolerance they desire for misspellings, making it easier to find relevant results even if the query is not perfectly accurate.
Improved cropping and highlighting
In addition, Meilisearch now allows users to customize how search results are displayed, including the level of cropping and highlighting applied to the results. You can now choose your own highlight tags and put the HTML ones you need, or select the number of words you want to keep while cropping.
Search result limits
Meilisearch has been improved to allow for customizable limits on the number of search results returned. This can help optimize search performance and limit the amount of data returned, as well as improve security practices.
Finally, Meilisearch has added the ability to customize the matching strategy used to match search queries to documents. You can now choose between two different strategies: one that requires all words present in the query to be present in matches, and one that accepts results that contain only some of those words.
New language optimizations
Meilisearch has recently added Japanese, Hebrew, and Thai to its already extensive list of supported languages. Contributors can now more easily propose new languages to support, helping the Meilisearch team to continue expanding its language offerings.
A growing toolbox
I could not be more proud to showcase the accomplishments of our integration team, the team at Meilisearch responsible for creating new integrations and diligently updating existing ones.
In 2022, our integration team:
- Developed three major integrations: Firebase, Gatsby, and Strapi
- Updated integrations for three frameworks: Laravel Scout, Symfony, Ruby on Rails
- Updated five frontend integrations: Angular, React, Vue, instant-meilisearch, doc-searchbar.js
These achievements demonstrate our dedication to providing our users and customers with smooth integration options for their search needs. With the upcoming release of Meilisearch v1, our integration team will be able to focus even more on new integrations and projects. So, don't forget to give us feedback on which integrations you'd like to see next!
A constant focus on the community
2022 has been an exciting year for the Meilisearch community. We saw tremendous growth in engagement and contributions, resulting in significant improvements to our search engine.
This year, the number of stars on our main repository reached an impressive 31.5k. We had approximately 500 external contributors, who together merged over 1000 pull requests. This level of participation and collaboration has been instrumental in driving innovation and enhancing the Meilisearch experience for our users and customers.
In addition to our regular contributions, we had a successful Hacktoberfest this year. This global event brings together developers to work on open-source projects, and we were delighted to be one of them. The influx of talent and energy from Hacktoberfest resulted in improvements to our SDKs, integrations, and engine.
We also participated in Advent of Code for the first time. This programming challenge is a great way to engage with the community and encourage problem-solving and collaboration. We are always looking for ways to foster a strong and engaged community, and Advent of Code was a great opportunity to do so.
Finally, we recently migrated our community from Slack to Discord. This move has been highly anticipated, and we are excited about the potential for increased communication and collaboration. We believe Discord will be a great place for our community to share ideas, get help, and work on projects.
In addition to our work in the community, we also made significant strides forward in our documentation in 2022.
Besides keeping the Meilisearch documentation up to date, this year our documentation team published many new guides and tutorials, including the Meilisearch 101, a brief overview of everything you need to know to create with Meilisearch. We also released a guide on migrating from Algolia, a benchmark of how Meilisearch stacks up against the competition, and tons of guides related to new features such as API keys, tenant tokens, and pagination. All of these resources are designed to help our users and customers get the most out of Meilisearch.
Our documentation team also undertook a major review and reorganization of our documentation, with the goal of making it even more user-friendly and comprehensive. This is just the start of our efforts in this area, and we are committed to continuously improving the quality and accessibility of our documentation.
Throughout 2022, we continued to release high-quality articles on our blog. It’s impossible to choose just one post, but some highlights include a comparison of different types of pagination, the announcement of our $15M Series A, an explanation of how we implemented a salary grid at Meilisearch, and a lovely series of interviews with Meilisearch employees. We also published numerous demos, guides, and tutorials!
We love creating content for our blog and sharing stories from within the company. If you enjoyed one of our blog posts this year, let us know which one!
Being a better company
This year, we focused on our employees' well-being. First of all, we implemented a transparent salary grid to ensure fair pay for all team members. Additionally, we established a comprehensive mental health support program with resources and assistance for those who need it.
Inclusivity is a core value at Meilisearch. We've placed great emphasis on creating an inclusive work environment and culture. This is evident in our recruitment process, which includes scorecards to reduce bias and aims to select candidates with diverse backgrounds, experiences, and skills.
At Meilisearch, we believe that by investing in the growth and development of our employees, we can create a stronger and more successful company. To support this growth, this year we implemented an improved feedback loop that allows for ongoing communication and coaching between employees and their managers. By understanding our employees' aspirations better, we can provide them with the support and resources they need to succeed, both at Meilisearch and in the rest of their careers.
To wrap this up, it has been an outstanding year for Meilisearch. I am grateful to every single member of the team for the work they put in to make our search engine a success. I also want to thank the community for their invaluable support and contributions. I think I speak for everyone at Meilisearch when I say that we look forward to bringing this forward momentum with us into 2023 and continuing to provide our users and customers with the best possible search experience.
Looking ahead to the coming year, we are excited to continue delivering new and improved features to our users and customers. If you have any feedback or suggestions for our roadmap, we encourage you to reach out and let us know what you need. We are always looking for ways to improve and evolve, and your input is an important part of that process. Thank you again for your support, and we look forward to continuing to work with you in 2023!