Updated on 2025-08-22 GMT+08:00

Creating an Index (1.1.6)

Function

This API is used to create indexes based on the specified information such as indexName and IndexType. Currently, composite indexes are supported.

  • Composite indexes include global vertex indexes (GlobalCompositeVertexIndex) and global edge indexes (GlobalCompositeEdgeIndex). Composite indexes can be used to create indexes on labels and properties. Indexes can accelerate the query speed.

Index Feature

Feature

Fuzzy Search

Speed

Flexibility

Composite indexes

No

Fast

Fixed composite property keys only

URI

POST /ges/v1.0/{project_id}/graphs/{graph_name}/indices
Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Obtaining a Project ID.

graph_name

Yes

String

Graph name

Request Parameters

Table 2 Request body parameter descriptions

Parameter

Mandatory

Type

Description

indexName

Yes

String

Index name. The name can contain a maximum of 63 characters. Only letters, numbers, hyphens (-), and underscores (_) are allowed.

indexType

Yes

String

Index type. The value is case-sensitive. GlobalCompositeVertexIndex is a global composite vertex index.

hasLabel

No

String

Whether labels exist. The default value is false.

  • true
  • false

indexProperty

No (If hasLabel is false or null, this parameter is mandatory.)

String

Index property list

  • If a property is of type string or char array, the value must not exceed 40 bytes. Any extra characters will be removed.
  • You can create up to 10 indexes.

Response Parameters

Table 3 Response body parameter descriptions

Parameter

Type

Description

errorMessage

String

System prompt

  • If execution succeeds, this parameter may be left blank.
  • If execution fails, this parameter is used to display the error message.

errorCode

String

System prompt code

  • If execution succeeds, this parameter may be left blank.
  • If execution fails, this parameter is used to display the error code.

jobId

String

ID of an asynchronous job

NOTE:
  • You can view the job execution status and obtain the return result by querying the job ID. For details, see Job Management APIs.

jobType

String

Type of an asynchronous job

Example Request

Create a composite index. The index name is ageIndex and the index type is global vertex index.
POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/indices
{
    "indexName":"ageIndex",
    "indexType": "GlobalCompositeVertexIndex",

    "hasLabel": "true",
    "indexProperty": ["age"]
}

SERVER_URL: Address for accessing a graph. For details about its value, see Using Service Plane APIs.

Example Response

Status code: 200

Example response for a successful request

Http Status Code: 200
{
"jobId": "f99f60f1-bba6-4cde-bd1a-ff4bdd1fd500000168232",
"jobType": 8
}

Status code: 400

Example response for a failed request

Http Status Code: 400
{
    "errorMessage": "Not found. Please check the input parameters.",
    "errorCode": "GES.8000"
}

Status Codes

Return Value

Description

400 Bad Request

Request error.

401 Unauthorized

Authorization failed.

403 Forbidden

No operation permissions.

404 Not Found

No resources found.

500 Internal Server Error

Internal server error.

503 Service Unavailable

Service unavailable.

Error Codes

See Error Codes.