code: def search(
      self,
      data,
      anns_field,
      param,
      limit,
      expr=None,
      partition_names=None,
      output_fields=None,
      timeout=None,
      round_decimal=-1,
      check_task=None,
      check_items=None,
      **kwargs,
  ):
      timeout = TIMEOUT if timeout is None else timeout
  
      func_name = sys._getframe().f_code.co_name
      res, check = api_request(
          [
              self.collection.search,
              data,
              anns_field,
              param,
              limit,
              expr,
              partition_names,
              output_fields,
              timeout,
              round_decimal,
          ],
          **kwargs,
      )
      check_result = ResponseChecker(
          res,
          func_name,
          check_task,
          check_items,
          check,
          data=data,
          anns_field=anns_field,
          param=param,
          limit=limit,
          expr=expr,
          partition_names=partition_names,
          output_fields=output_fields,
          timeout=timeout,
          **kwargs,
      ).run()
      return res, check_result
  
imports: import sys
  import time
  import timeout_decorator
  from numpy import NaN
  from pymilvus import Collection
  from check.func_check import ResponseChecker
  from utils.api_request import api_request
  from utils.wrapper import trace
  from utils.util_log import test_log
  from pymilvus.orm.types import CONSISTENCY_STRONG
  from common.common_func import param_info
label_desc: Use image node_id 18 for calling the ApiCollectionWrapper obj's underlying member method code with example usage: obj.search(data, anns_field, param, limit, expr, partition_names, output_fields, timeout, round_decimal, check_task, check_items) and returns: res,  check_result