code: def search_similar_items(self, item):
      item_index = self.item_to_item_id[item]
      count = 0
      list_items = []
      list_similar = sorted(
          enumerate(self.si_matrix[item_index]), key=lambda x: -x[1]
      )
  
      for i, sim in list_similar:
          if i != item_index:
              if self.item_id_to_item[i] in self.train_set["items"]:
                  list_items.append((self.item_id_to_item[i], sim))
                  count += 1
                  if count == self.k:
                      return list_items
  
file_path: CaseRecommender/caserec/recommenders/rating_prediction/item_msmf.py
imports: import numpy
  from caserec.recommenders.rating_prediction.matrixfactorization import MatrixFactorization
  from caserec.utils.extra_functions import timed
label_desc: Use image node_id 5 for calling the ItemMSMF obj's underlying member method code with example usage: obj.search_similar_items(item) and returns: list_items