docstr: target: check the search iterator results
  method: 1. check the iterator number
          2. check the limit(topK) and ids
          3. check the distance
  expected: check the search is ok
docstr_tok: ["target",":","check","the","search","iterator","results","method",":","1.","check","the","iterator","number","2.","check","the","limit","(","topK",")","and","ids","3.","check","the","distance","expected",":","check","the","search","is","ok"]
code: def check_search_iterator(search_res, func_name, check_items):
      """
      target: check the search iterator results
      method: 1. check the iterator number
              2. check the limit(topK) and ids
              3. check the distance
      expected: check the search is ok
      """
      log.info(
          "search_iterator_results_check: checking the searching results"
      )
      if func_name != "search_iterator":
          log.warning(
              "The function name is {} rather than {}".format(
                  func_name, "search_iterator"
              )
          )
      search_iterator = search_res
      pk_list = []
      while True:
          res = search_iterator.next()
          if len(res) == 0:
              log.info("search iteration finished, close")
              search_iterator.close()
              break
          if check_items.get("batch_size", None):
              assert len(res) <= check_items["batch_size"]
          if check_items.get("radius", None):
              for distance in res.distances():
                  if check_items["metric_type"] == "L2":
                      assert distance < check_items["radius"]
                  else:
                      assert distance > check_items["radius"]
          if check_items.get("range_filter", None):
              for distance in res.distances():
                  if check_items["metric_type"] == "L2":
                      assert distance >= check_items["range_filter"]
                  else:
                      assert distance <= check_items["range_filter"]
          pk_list.extend(res.ids())
      assert len(pk_list) == len(set(pk_list))
      log.info("check: total %d results" % len(pk_list))
  
      return True
  
imports: from pymilvus.client.types import CompactionPlans
  from pymilvus import Role
  from utils.util_log import test_log
  from common import common_type
  from common import common_func
  from common.common_type import CheckTasks, Connect_Object_Name
  from pymilvus import Collection, Partition, ResourceGroupInfo
  from utils.api_request import Error
  import check.param_check
label_desc: Use image node_id 11 for calling the ResponseChecker obj's underlying member method code with example usage: obj.check_search_iterator(search_res, func_name, check_items) and returns: True