Here you can download the latest implementation of the FM-Index (currently version 2) by Paolo Ferragina and Rossano Venturini. This is an engineered implementation from the original one proposed by Ferragina and Manzini in ACM-SIAM Soda 2001.
See the FM-Index page (version 2) for more information about this implementation, its novelties, and its use. We also refer the reader to that page for details about the parameter build_options of the API.
In case you are interested to the original FM-index (version 1) please have a look at the corresponding Web page. However, please notice that the library for the FM-index V1 does not comply to the Pizza&Chili API, and thus it is referred here only for historical reasons.
Papers about the FM-index data structure
Paolo Ferragina and Giovanni Manzini. Indexing compressed text. Journal of the ACM, 52(4):552-581, 2005.
Paolo Ferragina and Giovanni Manzini. Opportunistic data structures with applications. In Proc. 41st IEEE Symposium on Foundations of Computer Science(FOCS), Redondo Beach (USA), 2000.
Paolo Ferragina and Giovanni Manzini. An experimental study of an opportunistic index. In Proc. 12th ACM-SIAM Symposium on Discrete Algorithms (SODA), Washington (USA), 2001.
Paolo Ferragina and Giovanni Manzini. An experimental study of a compressed index. Information Sciences, 135:13-28, 2001.