Creating Indexes in Batches
Function
This API is used to create indexes in batches. By doing so, the number of data scans is reduced and the overall time required is shorten. The types of indexes that can be created are the same as those of the index creation API. For details, see Creating an Index.
After an index is created, wait for 30 seconds for index synchronization. After the synchronization is complete, Cypher queries can be accelerated using the index.
URI
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
Parameter |
Mandatory |
Type |
Description |
indices |
Yes |
Array |
Index array. The number of new indexes cannot exceed the maximum number of supported indexes minus the number of existing indexes. Currently, a maximum of 10 indexes can be created. For details about index parameters, see Table 3. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
indexName |
Yes |
String |
Index name. The name can contain a maximum of 63 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. |
indexType |
Yes |
String |
Index type, which is case sensitive
|
indexLabel |
No |
List |
Labels on which indexes are created. This parameter is available only when indexType is set to CompositeVertexIndex or CompositeEdgeIndex. This parameter is mandatory. |
indexProperty |
No (If hasLabel is false or null, this parameter is mandatory.) |
String |
Index property list Indexes can be created for the following property types: integer, float, double, long, enum, char array, string, and date. |
- If a property is of the string or char array type, the value must be no more than 40 bytes. The excess part will be deleted.
- Cypher queries can be accelerated with indexes whose hasLabel is True.
- If indexProperty is left blank, the created index is a label index, which accelerates label filtering.
- If indexProperty is specified, the created index is a property index, which accelerates property filtering.
Response Parameters
Parameter |
Type |
Description |
---|---|---|
errorMessage |
String |
System prompt
|
errorCode |
String |
System prompt code
|
jobId |
String |
ID of an asynchronous job
NOTE:
|
jobType |
String |
Type of an asynchronous job |
result |
String |
If the execution is successful, the value is success. |
Example Request
Create multiple composite indexes at a time. The index names are vertexIndex, edgeIndex, and useridIndex.
POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/indices/action?action_id=batch-build { "indices": [ { "indexName": "vertexIndex", "indexType": "GlobalCompositeVertexIndex", "hasLabel": true, "indexProperty": [] }, { "indexName": "edgeIndex", "indexType": "GlobalCompositeEdgeIndex", "hasLabel": true, "indexProperty": [] }, { "indexName": "useridIndex", "indexType": "GlobalCompositeEdgeIndex", "hasLabel": true, "indexProperty": ["userid"] } ] }
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": "graph [demo] is not found", "errorCode": "GES.8603" }
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
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.