The Marginalia Search index has undergone significant redesign to enhance performance through new data structures optimized for modern hardware, increasing the index size from 350 million to 800 million documents. The article discusses the challenges faced in query performance and the implications of NVMe SSD characteristics, as well as the transition from B-trees to deterministic block-based skip lists for improved efficiency in document retrieval.
A search engine performs two main tasks: retrieval, which involves finding documents that satisfy a query, and ranking, which determines the best matches. This article focuses on retrieval, explaining the use of forward and inverted indexes for efficient document searching and the concept of set intersection as a fundamental operation in retrieval processes.