• Math/algorithmic questions
  • How can I get constructive criticism about my data?
  • Why do I get weird results with brute force search on vectors with large components?
  • Analyzing accuracy issues with IndexIVFPQ
  • Why is multi-level IVF search not supported in Faiss?
  • How can I reproduce results from the original PQ paper?
  • How can I index 2D or 3D data?
  • Questions on the API
  • Can searches and additions be performed concurrently from several threads?
  • Why are searches with a single query vector slow?
  • In C++, do I need to keep a reference to the coarse quantizer around for an IndexIVFFlat/IndexIVFPQ/IndexIVFPQR index?
  • How can I distribute index building on several machines?
  • Does Faiss support string ids?
  • Searching duplicate vectors is slow
  • Reproducibility
  • Questions about training
  • Can I ignore "WARNING clustering XXX points to YYY centroids"?
  • How many training points do I need for k-means?
  • How can I do unbiased sampling from a large set of vectors?
  • Can I use k-means with an inner-product index?
  • Can I do k-means with something else than L2 assignment?
  • How can I warm-start the centroid training for an IVF index?
  • Can I used an index trained on some kind of data to index some other type of data of the same dimension?
  • Is re-training an index supported?
  • Extracting information from a C++ Index object
  • Other questions
  • Why do I get "wrong number or type of arguments" errors in Python?
  • How can diversity be enforced on search results?
  • Is it possible to dynamically exclude vectors based on some criterion?
  • What does it mean when a search returns -1 ids?
  • Is PQ encoding with more or less than 8 bits per components supported?
  • How can I set nprobe on the sub-indexes of an IndexShards or IndexReplicas?
  • How can I set nprobe on an "opaque" index?
  • Why does the RAM usage not go down when I delete an index?
  • Why are the number of openmp threads not being set correctly when calling faiss.omp_set_num_threads(n)?