class_docstr: Object that manages all the data related to the computation
  except the actual within-bucket matching and the organization of the
  computation (parallel or not)
class_docstr_tok: ["Object","that","manages","all","the","data","related","to","the","computation","except","the","actual","within-bucket","matching","and","the","organization","of","the","computation","(","parallel","or","not",")"]
code: def reorder_assign(self):
      self.tic("bucket sort")
      q_assign = self.q_assign
      q_assign += 1  # move -1 -> 0
      self.bucket_lims = faiss.matrix_bucket_sort_inplace(
          self.q_assign, nbucket=self.index.nlist + 1, nt=16
      )
      self.query_ids = self.q_assign.ravel()
      if self.verbose > 0:
          print("  number of -1s:", self.bucket_lims[1])
      self.bucket_lims = self.bucket_lims[
          1:
      ]  # shift back to ignore -1s
      del (
          self.q_assign
      )  # inplace so let's forget about the old version...
      self.toc()
  
imports: import time
  import pickle
  import os
  import logging
  from multiprocessing.pool import ThreadPool
  import threading
  import _thread
  from queue import Queue
  import traceback
  import datetime
  import numpy
  import faiss
  from faiss.contrib.inspect_tools import get_invlist
label_desc: Use image node_id 8 for calling the BigBatchSearcher obj's underlying member method code with example usage: obj.reorder_assign() without return types