The PPP-Codes is an indexing structure for fast approximate nearest neigbor search in generic metric spaces. A typical general strategy to retrieve the most similar objects to a given example is to access and then refine a candidate set of objects; the overall search costs (and search time) then typically correlate with the candidate set size. The PPP-Codes combines several independent indexes by aggregating their candidate sets in such a way that the resulting candidate set can be one or two orders of magnitude smaller (while keeping the answer quality). The index is used in the latest large-scale demo.

The following paper about PPP-Codes was accepted and others should follow:

  • Novak, D., & Zezula, P. (2014). Rank Aggregation of Candidate Sets for Efficient Similarity Search. In Proceedings of DEXA 2014 (pp. 1–17).

If you use this library for academic purposes, please, refer the publication.

Download library

The package is a Java Maven project:


The owner of the result is Masaryk University, a public high school, ID: 00216224. Masaryk University allows other companies and individuals to use this software free of charge and without territorial restrictions under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. The PPP-Codes library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with M-Index library. If not, see http://www.gnu.org/licenses/.