docstr: search interface 
docstr_tok: ["search","interface"]
code: def query(self):
      """search interface"""
      op = "query"
      # X = utils.generate_vectors(self.params[op]["nq"], self.op_info["dimension"])
      vector_query = {
          "vector": {
              self.op_info["vector_field_name"]: {
                  "topk": self.params[op]["top_k"],
                  "query": self.values["X"][: self.params[op]["nq"]],
                  "metric_type": self.params[op]["metric_type"]
                  if "metric_type" in self.params[op]
                  else utils.DEFAULT_METRIC_TYPE,
                  "params": self.params[op]["search_param"],
              }
          }
      }
      filter_query = []
      if "filters" in self.params[op]:
          for filter in self.params[op]["filters"]:
              if isinstance(filter, dict) and "range" in filter:
                  filter_query.append(eval(filter["range"]))
              if isinstance(filter, dict) and "term" in filter:
                  filter_query.append(eval(filter["term"]))
  
      guarantee_timestamp = (
          self.params[op]["guarantee_timestamp"]
          if "guarantee_timestamp" in self.params[op]
          else None
      )
  
      # logger.debug(filter_query)
      self.client.query(
          vector_query,
          filter_query=filter_query,
          log=False,
          guarantee_timestamp=guarantee_timestamp,
          timeout=30,
      )
  
file_path: milvus/tests/benchmark/milvus_benchmark/runners/locust_tasks.py
imports: import random
  import logging
  from locust import TaskSet, task
  from .None import utils
label_desc: Use image node_id 1 for calling the Tasks obj's underlying member method code with example usage: obj.query() without return types