docstr: steps
docstr_tok: ["steps"]
code: def test_customize_segment_size(self, seg_size, seg_count):
      """
      steps
      """
      log.info(f"start to install milvus with segment size {seg_size}")
      release_name, host, port = _install_milvus(seg_size)
      self.release_name = release_name
      assert host is not None
      conn = connections.connect("default", host=host, port=port)
      assert conn is not None
      mil = MilvusSys(alias="default")
      log.info(f"milvus build version: {mil.build_version}")
  
      log.info(f"start to e2e verification: {seg_size}")
      # create
      name = cf.gen_unique_str("segsiz")
      t0 = time.time()
      collection_w = ApiCollectionWrapper()
      collection_w.init_collection(
          name=name,
          schema=cf.gen_default_collection_schema(),
          timeout=40,
      )
      tt = time.time() - t0
      assert collection_w.name == name
      entities = collection_w.num_entities
      log.info(
          f"assert create collection: {tt}, init_entities: {entities}"
      )
  
      # insert
      nb = 50000
      data = cf.gen_default_list_data(nb=nb)
      t0 = time.time()
      _, res = collection_w.insert(data)
      tt = time.time() - t0
      log.info(f"assert insert: {tt}")
      assert res
      # insert 2 million entities
      rounds = 40
      for _ in range(rounds - 1):
          _, res = collection_w.insert(data)
      entities = collection_w.num_entities
      assert entities == nb * rounds
  
      # load
      collection_w.load()
      utility_wrap = ApiUtilityWrapper()
      segs, _ = utility_wrap.get_query_segment_info(collection_w.name)
      log.info(f"assert segments: {len(segs)}")
      assert len(segs) == seg_count
  
      # search
      search_vectors = cf.gen_vectors(1, ct.default_dim)
      search_params = {"metric_type": "L2", "params": {"nprobe": 16}}
      t0 = time.time()
      res_1, _ = collection_w.search(
          data=search_vectors,
          anns_field=ct.default_float_vec_field_name,
          param=search_params,
          limit=1,
          timeout=30,
      )
      tt = time.time() - t0
      log.info(f"assert search: {tt}")
      assert len(res_1) == 1
      collection_w.release()
  
      # index
      d = cf.gen_default_list_data()
      collection_w.insert(d)
      log.info(f"assert index entities: {collection_w.num_entities}")
      _index_params = {
          "index_type": "IVF_SQ8",
          "params": {"nlist": 64},
          "metric_type": "L2",
      }
      t0 = time.time()
      index, _ = collection_w.create_index(
          field_name=ct.default_float_vec_field_name,
          index_params=_index_params,
          name=cf.gen_unique_str(),
          timeout=120,
      )
      tt = time.time() - t0
      log.info(f"assert index: {tt}")
      assert len(collection_w.indexes) == 1
  
      # search
      t0 = time.time()
      collection_w.load()
      tt = time.time() - t0
      log.info(f"assert load: {tt}")
      search_vectors = cf.gen_vectors(1, ct.default_dim)
      t0 = time.time()
      res_1, _ = collection_w.search(
          data=search_vectors,
          anns_field=ct.default_float_vec_field_name,
          param=search_params,
          limit=1,
          timeout=30,
      )
      tt = time.time() - t0
      log.info(f"assert search: {tt}")
  
      # query
      term_expr = (
          f"{ct.default_int64_field_name} in [1001,1201,4999,2999]"
      )
      t0 = time.time()
      res, _ = collection_w.query(term_expr, timeout=30)
      tt = time.time() - t0
      log.info(f"assert query result {len(res)}: {tt}")
  
file_path: milvus/tests/python_client/customize/test_customize_segment_size.py
imports: import pytest
  import time
  from pymilvus import connections
  from utils.util_log import test_log
  from base.collection_wrapper import ApiCollectionWrapper
  from base.utility_wrapper import ApiUtilityWrapper
  from common import common_func
  from common import common_type
  from milvus_operator import MilvusOperator
  from common.milvus_sys import MilvusSys
  from common.common_type import CaseLabel
label_desc: Use image node_id 2 for calling the TestCustomizeSegmentSize obj's underlying member method code with example usage: obj.test_customize_segment_size(seg_size, seg_count) without return types