Manual
User Manual:
Open the PDF directly: View PDF
Page Count: 42
- Non-Metric Space Library (NMSLIB) Manual
- Objectives and History
- Terminology and Problem Formulation
- Spaces
- Search Methods
- Notes on Efficiency
- Description of Projection Types
![Non-Metric Space Library (NMSLIB) ManualBilegsaikhan Naidan, Leonid Boytsov, and Yury MalkovMaintainer: Leonid Boytsov leo@boytsov.infoVersion 1.8Wednesday 5th June, 2019Abstract. This document covers a library for fast similarity (k-NN)search. It describes only search methods and distances (spaces). Detailsabout building, installing, Python bindings can be found online:https://github.com/searchivarius/nmslib/tree/v1.8/. Even thoughthe library contains a variety of exact metric-space access methods, ourmain focus is on more generic and approximate search methods, in par-ticular, on methods for non-metric spaces. NMSLIB is possibly the firstlibrary with a principled support for non-metric space searching.1 Objectives and HistoryNon-Metric Space Library (NMSLIB) is an efficient and extendable cross-platform similarity search library and a toolkit for evaluation of similarity searchmethods. The core-library does not have any third-party dependencies.The goal of the project is to create an effective and comprehensive toolkitfor searching in generic metric and non-metric spaces. Even though thelibrary contains a variety of metric-space access methods, our main focus is ongeneric and approximate search methods, in particular, on methods for non-metric spaces. NMSLIB is possibly the first library with a principled support fornon-metric space searching.NMSLIB is an extendible library, which means that is possible to add newsearch methods and distance functions. NMSLIB can be used directly in C++and Python (via Python bindings). In addition, it is also possible to build aquery server, which can be used from Java (or other languages supported byApache Thrift). Java has a native client, i.e., it works on many platforms withoutrequiring a C++ library to be installed.NMSLIB started as a personal project of Bilegsaikhan Naidan, who createdthe initial code base, the Python bindings, and participated in earlier evalua-tions. The most successful class of methods–neighborhood/proximity graphs–isrepresented by the Hierarchical Navigable Small World Graph (HNSW) due toMalkov and Yashunin [33]. Other most useful methods, include a modificationof the Vantage-Point Tree (VP-tree) [6], a Neighborhood APProximation index(NAPP) [43], which was improved by David Novak, as well as a vanilla uncom-pressed inverted file.The current version of the manual focuses solely on the description of:](https://usermanual.wiki/Document/manual.265000109-User-Guide-Page-1.png)
User Manual:
Open the PDF directly: View PDF
Page Count: 42