Creating an Index
Function
This API is used to create indexes based on the specified information such as indexName and IndexType. Currently, GES supports composite indexes.
- 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.
- Full-text indexes (FullTextIndex) can implement functions such as full-text search and fuzzy search. If you search data immediately after an update, you may get the old data. You are advised to query the data 1 second after the update. For details about how to use full-text indexes, see Querying Vertices That Meet Filter Criteria and Querying Edges That Meet Filter Criteria. You can also use full-text indexes in Cypher statements. For details, see Performing Cypher Queries.
Currently, full-text indexes are available for 100-billion-edge graphs only.
Index Feature Comparison
Feature |
Fuzzy Search |
Speed |
Flexibility |
---|---|---|---|
Composite indexes |
No |
Fast |
Fixed composite property keys only |
Full-text indexes |
Yes |
Slower than composite indexes |
Randomly combined property keys |
URI
- URI format
POST /ges/v1.0/{project_id}/graphs/{graph_name}/indices
- Parameter description
Table 1 URI parameter description Parameter
Mandatory
Type
Description
project_id
Yes
String
Project ID, which is used for resource isolation. For details, see Obtaining a Project ID.
graph_name
Yes
String
Graph name
Request
- Sample request (composite 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 Constraints of Using Service Plane APIs.
- Request body parameter description
Table 2 Request body parameter description Parameter
Mandatory
Type
Description
indexName
Yes
String
Index name. Only letters, digits, hyphens (-), and underscores (_) are allowed. Other characters are not allowed. The index name can contain a maximum of 63 characters.
indexType
Yes
String
Index type. The value is case-sensitive. GlobalCompositeVertexIndex is a global composite vertex index.
hasLabel (for 100-billion-edge)
No
Boolean
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.
The property types that can be used to create indexes include integer, float, double, long, enum, char array, string, and date.
If a property is of the string or char array type, it is recommended that the length be less than or equal to 40 bytes. The excess part will be deleted.
- Request body parameter description
Response
- Parameter description
Table 3 Parameter description Parameter
Mandatory
Type
Description
errorMessage
No
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
No
String
System prompt. If execution succeeds, this parameter may be left blank. If execution fails, this parameter is used to display the error code.
job_id
No
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
No
String
Type of an asynchronous job
result
No
String
If the execution is successful, the value of result is success.
- Response example (successful request)
Http Status Code: 200 { "jobId": "f99f60f1-bba6-4cde-bd1a-ff4bdd1fd500000168232", "jobType": 8 }
- Response example (failed request)
Http Status Code: 400 { "errorMessage": "graph [demo] is not found", "errorCode": "GES.8603" }
Return Value
- Normal
- Abnormal
Table 4 Return code for failed requests Return Value
Description
400 Bad Request
Request error.
401 Unauthorized
Authentication failed.
403 Forbidden
No operation permission.
404 Not Found
The requested resource was not found.
500 Internal Server Error
Internal service error.
503 Service Unavailable
Service unavailable.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot