Profil picture of Clément Renault

Clément Renault

I am the co-founder and CTO of @meilisearch. I learned coding at the Paris @42school. I live in Paris and love video games.


  1. August 20, 2024 — 5 comments

    Meilisearch is too slow

    In this blog post, we explore the enhancements needed for Meilisearch's document indexer. We'll discuss the current indexing engine, its drawbacks, and new techniques to optimize performance. With insights on parallel processing, memory management, and efficient data handling, we'll draft a robust new indexer to better handle large datasets and frequent updates. Join us for a deep dive into making Meilisearch's indexing faster, more efficient, and scalable.

  2. March 25, 2024 — 0 comments — written by irevoire

    How Meilisearch Updates a Millions Vector Embeddings Database in Under a Minute

    In this blog post, we'll explore how we implemented incremental indexing in Arroy, enabling efficient updates to our vector store without rebuilding the entire tree. This is crucial for Meilisearch, where content frequently changes. We discuss the theory, the challenges faced, and various approaches to optimize ID generation. Our method delivers a significant speedup, making our search system scalable and responsive, even for large datasets. We've achieved remarkable performance improvements, benefiting users with dynamic and extensive data.

  3. December 23, 2023 — 0 comments

    Meilisearch Expands Search Power with Arroy's Filtered Disk ANN

    Meilisearch is enhancing its search capabilities by integrating Arroy, which supports efficient vector storage and filtering. Arroy outperforms previous solutions like HNSW, especially for large datasets. With the use of RoaringBitmap for filtering, Arroy reduces memory usage and speeds up searches. New features include support for multiple indexes, enabling efficient handling of various embeddings. This teamwork-driven project highlights flexibility and scalability for diverse search needs.

  4. December 16, 2023 — 5 comments

    Multithreading and Memory-Mapping: Refining ANN Performance with Arroy

    Dive into my journey of porting Spotify's Annoy library to Rust using LMDB. Learn how I tackled memory-mapped file challenges, optimized tree node generation, and achieved significant performance improvements for indexing large vector datasets. Discover the power of the Share Nothing principle and prepare for future insights on incremental indexing and filtering.

  5. December 08, 2023 — 0 comments

    Spotify-Inspired: Elevating Meilisearch with Hybrid Search and Rust

    At Meilisearch, we're blending keyword and semantic search to enhance query results. Our project, Arroy, stores embeddings on disk, optimizing search among high-dimensional vectors with Spotify's Annoy as inspiration. By porting to Rust and using LMDB, we improve efficiency and manage storage effectively. We optimize vector handling with SIMD and plan to tackle multithreaded tree building and incremental indexing in future updates. Join us on this tech journey!

  6. August 09, 2023 — 0 comments

    Using Rust and the GitHub CI for my blog

    In my first blog post, I share how I built my blog on GitHub Pages using GitHub CI. Inspired by Utterances, I use GitHub issues to display articles and GitHub API for ease of use. Leveraging Rust, octocrab, Starry Night, and Askama, I generate static pages and ensure code syntax highlighting. Bootstrap and PurgeCSS helped achieve a sleek, high-performing design. My blog is live, open-source, and ready for you to explore on GitHub!