
# 新建索引(1.1.6) - CreateIndex
#### 功能介绍
根据给定的indexName，IndexType等信息创建索引。目前支持的索引：复合索引。
- 复合索引有全局点索引（GlobalCompositeVertexIndex）和全局边索引（GlobalCompositeEdgeIndex）。复合索引可在label和property上创建索引，使用索引查询可以加快速度。
 
#### 索引特性
| **特性** | **模糊查询** | **速度** | **灵活度**     |
|:---|:---|:---|:---|
| 复合索引   | 不支持      | 快速     | 仅限于固定组合属性键。 |
   
#### URI
POST /ges/v1.0/{project_id}/graphs/{graph_name}/indices
表1路径参数 
| 参数         | 是否必选 | 类型     | 说明                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目编号。获取方法，请参见[获取项目ID](https://support.huaweicloud.com/api-ges/ges_03_0111.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母和数字组成，且长度为\[1-64\]个字符。 **默认取值：** 不涉及。 |
| graph_name | 是    | String | **参数解释：** 图名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                          |
   
#### 请求参数
表2Body参数说明 
| 参数            | 是否必选                           | 类型     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| indexName     | 是                              | String | **参数解释：** 索引名称。 **约束限制：** - 只能包含字母,数字,-和_。不能包含其他字符。  - 索引名称的长度需在63字符以内。   **取值范围：** 不涉及。 **默认取值：** 不涉及。                                             |
| indexType     | 是                              | String | **参数解释：** 索引的类型。 **约束限制：** 区分大小写。 **取值范围：** 不涉及。 **默认取值：** - "GlobalCompositeVertexIndex"为全局索引。  - "Composite"类型的点索引。   |
| hasLabel      | 否                              | String | **参数解释：** 是否有label。 **约束限制：** 不涉及。 **取值范围：** - "true"。  - "false"。   **默认取值：** 默认为"false"。                                                           |
| indexProperty | 否（若hasLabel为false或null，则该项为必选） | String | **参数解释：** 图名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 索引的属性列表。                                                                                                                                                                           |
   
![](https://support.huaweicloud.com/api-ges/public_sys-resources/note_3.0-zh-cn.png)
- 如果属性类型为string或者char array，属性长度建议不要超过40个字节，超出的部分会被截断。
- 新建索引上限为10个。
 
#### 响应参数
表3响应Body参数说明 
| 参数           | 类型     | 说明                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| errorMessage | String | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误信息。   **取值范围**： 不涉及。              |
| errorCode    | String | **参数解释**： 系统提示信息。 - 执行成功时，字段可能为空。  - 执行失败时，用于显示错误码。   **取值范围**： 不涉及。          |
| jobId        | String | **参数解释**： 执行该异步任务的jobId。 说明： - 可以查询jobId查看任务执行状态、获取返回结果，详情参考[Job管理API](https://support.huaweicloud.com/api-ges/ges_03_0036.html)。   **取值范围**： 不涉及。 |
| jobType      | String | **参数解释**： 执行该异步任务的jobType。 **取值范围**： 不涉及。                                                                                                                                                                                                        |
   
#### 请求示例
创建复合索引，索引名称为ageIndex，索引类型为全局点索引。
```
POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/indices
{
    "indexName":"ageIndex",
    "indexType": "GlobalCompositeVertexIndex",
    "hasLabel": "true",
    "indexProperty": ["age"]
}
```
![](https://support.huaweicloud.com/api-ges/public_sys-resources/note_3.0-zh-cn.png)
SERVER_URL：图的访问地址，取值请参考[业务面API使用限制](https://support.huaweicloud.com/api-ges/ges_03_0139.html)。
#### 响应示例
**状态码： 200**
成功响应示例
```
Http Status Code: 200
{
"jobId": "f99f60f1-bba6-4cde-bd1a-ff4bdd1fd500000168232",
"jobType": 8
}
```
**状态码： 400**
失败响应示例
```
Http Status Code: 400
{
    "errorMessage": "Not found. Please check the input parameters.",
    "errorCode": "GES.8000"
}
```
#### 状态码
| 返回值                       | 说明      |
|:---|:---|
| 400 Bad Request           | 请求错误。   |
| 401 Unauthorized          | 鉴权失败。   |
| 403 Forbidden             | 没有操作权限。 |
| 404 Not Found             | 找不到资源。  |
| 500 Internal Server Error | 服务内部错误。 |
| 503 Service Unavailable   | 服务不可用。  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ges/ges_03_0110.html)。
