Compressing integer lists with Contextual Arithmetic Trits
Yann Barsamian, André Chailloux
TL;DR
Problem: efficiently compressing inverted-index integer lists used in large databases to accelerate queries. Approach: Contextual Arithmetic Trits, a trit-based encoding with context modeling, to compress the bit-sparse representations of inverted lists. Contributions: an extensive evaluation showing consistent compression-size improvements over the Binary Interpolative Method across multiple datasets, along with released source code and datasets. Impact: enables storage- and time-efficient inverted indexes for scalable search systems.
Abstract
Inverted indexes allow to query large databases without needing to search in the database at each query. An important line of research is to construct the most efficient inverted indexes, both in terms of compression ratio and time efficiency. In this article, we show how to use trit encoding, combined with contextual methods for computing inverted indexes. We perform an extensive study of different variants of these methods and show that our method consistently outperforms the Binary Interpolative Method -- which is one of the golden standards in this topic -- with respect to compression size. We apply our methods to a variety of datasets and make available the source code that produced the results, together with all our datasets.
