class_docstr: Wrapper for a matrix that offers a function to assign the vectors
  to centroids. All other implementations offer the same interface
class_docstr_tok: ["Wrapper","for","a","matrix","that","offers","a","function","to","assign","the","vectors","to","centroids",".","All","other","implementations","offer","the","same","interface"]
code: def perform_search(self, centroids):
      return faiss.knn(self.x, centroids, 1)
  
imports: import numpy
  import faiss
  import time
  from multiprocessing.pool import ThreadPool
label_desc: Use image node_id 5 for calling the DatasetAssign obj's underlying member method code with example usage: obj.perform_search(centroids) and returns: faiss