code: def _get_evadb_index_save_path(self) -> Path:
      index_dir = Path(
          self.db.catalog().get_configuration_catalog_value("index_dir")
      )
      if not index_dir.exists():
          index_dir.mkdir(parents=True, exist_ok=True)
      return str(
          index_dir
          / Path(
              "{}_{}.index".format(self.vector_store_type, self.name)
          )
      )
  
imports: from pathlib import Path
  import pandas
  from evadb.catalog.catalog_type import VectorStoreType
  from evadb.catalog.sql_config import ROW_NUM_COLUMN
  from evadb.database import EvaDBDatabase
  from evadb.executor.abstract_executor import AbstractExecutor
  from evadb.executor.executor_utils import ExecutorError, handle_vector_store_params
  from evadb.expression.function_expression import FunctionExpression
  from evadb.models.storage.batch import Batch
  from evadb.plan_nodes.create_index_plan import CreateIndexPlan
  from evadb.third_party.databases.interface import get_database_handler
  from evadb.third_party.vector_stores.types import FeaturePayload
  from evadb.third_party.vector_stores.utils import VectorStoreFactory
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 4 for calling the CreateIndexExecutor obj's underlying member method code with example usage: obj._get_evadb_index_save_path() and returns: str