rebuild_vector_index
Rebuild a vector index in Baidu Vector Database to optimize search performance and maintain data integrity for AI applications.
Instructions
Rebuild the vector index in the Mochow instance.
Args:
table_name (str): Name of the table.
index_name (str): Name of the vector index to rebuild.
Returns:
str: A message indicating the success of index rebuild initiation.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| table_name | Yes | ||
| index_name | Yes |
Implementation Reference
- src/mochow_mcp_server/server.py:607-621 (handler)MCP tool handler function for 'rebuild_vector_index', decorated with @mcp.tool() for registration, delegates to MochowConnector.rebuild_vector_index@mcp.tool() async def rebuild_vector_index(table_name: str, index_name: str, ctx: Context = None) -> str: """ Rebuild the vector index in the Mochow instance. Args: table_name (str): Name of the table. index_name (str): Name of the vector index to rebuild. Returns: str: A message indicating the success of index rebuild initiation. """ connector = ctx.request_context.lifespan_context.connector await connector.rebuild_vector_index(table_name, index_name) return f"Initiate the rebuild of vector index '{index_name}' successfully."
- Core helper method in MochowConnector class that implements the vector index rebuild logic by calling the Mochow database API.async def rebuild_vector_index(self, table_name: str, index_name: str) -> bool: """ Rebuild a vector index in a given table. Args: table_name (str): Name of the table. index_name (str): Name of the vector index. Returns: bool: True if the index is rebuilt successfully, False otherwise. """ if self.database is None: raise ValueError("Switch to the database before rebuild vector index") # check vector index index_existed = True try: self.database.table(table_name).describe_index(index_name) except ServerError as e: if e.code == ServerErrCode.INDEX_NOT_EXIST: index_existed = False else: raise ValueError(f"Failed to get index detail: {str(e)}") # index already existed with same name if not index_existed: raise ValueError(f"Vector index not existed with name '{index_name}'") try: self.database.table(table_name).rebuild_index(index_name) return True except Exception as e: raise ValueError(f"Failed to rebuild vector index: {str(e)}")