
# 创建索引 - CreateIndex
#### 功能介绍
在指定的collection中，按照参数创建索引。
#### URI
POST /v1/indexes/create
#### 请求参数
表1请求Body参数 
| 参数              | 是否必选 | 参数类型                                                    | 描述                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| store_name      | 是    | String                                                  | **参数解释：** 知识仓实例名称，region内唯一。 **约束限制：** 长度范围为3到63个字符，支持小写字母、数字、中划线（ - ），第一个字符只能够是小写字母，中划线（ - ）不得出现在字符串末尾。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                        |
| collection_name | 是    | String                                                  | **参数解释：** collection名称，知识仓内唯一。 **约束限制：** 长度范围为1到255个字符，支持字母、数字、中划线（ - ）和下划线（ _ ），大小写敏感。第一个字符只能够是下划线（ _ ）和字母，中划线（ - ）不得出现在字符串末尾。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| index_param     | 是    | [index_param] object | **参数解释：** 配置创建索引的相关参数。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                     |
   
 表2index_param 
| 参数         | 是否必选 | 参数类型                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| index_name | 是    | String               | **参数解释：** 创建的索引名称，collection内唯一。 **约束限制：** 长度范围为1到255个字符，支持字母、数字、中划线（ - ）和下划线（ _ ），大小写敏感。第一个字符只能够是下划线（ _ ）和字母，中划线（ - ）不得出现在字符串末尾。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| field_name | 是    | String               | **参数解释：** 要创建索引的目标字段名称。 **约束限制：** - 长度范围为1到255个字符，支持字母、数字、中划线（ - ）和下划线（ _ ），大小写敏感。第一个字符只能够是下划线（ _ ）和字母，中划线（ - ）不得出现在字符串末尾。   - field_name必须是collection field schema中存在的字段。    **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| params     | 否    | Map\<String,Object\> | **参数解释：** 创建的索引的参数配置。 可以设置的参数： - metric_type：向量度量方式，只有向量索引需要配置。   - index_type：创建的索引类型。   - params：对应索引类型的配置参数。 1. HNSW索引类型参数： - M：节点的最大度。   - efConstruction：构建索引时每个节点邻居数。     2. HANNS索引相关参数： - max_degree：节点的最大度数。较大的值提供更高的召回率但增加索引的大小和构建时间。   - search_list_size：候选列表的大小。较大的值增加构建索引的时间但提供更高的召回率。   - encoding_type: SQ/PQ/HVQ，默认SQ。   - pq_code_budget_gb_ratio：PQ 码的大小限制。较大的值提供更高的召回率但增加内存使用量，仅当encoding_type为PQ时生效。   - hvq_nbits：HVQ码的大小限制。较大的值提高更高的召回率但增加内存使用量，仅当encoding_type为HVQ时生效。   - beamwidth：用于搜索的束宽。表示每次搜索迭代中每个查询发出的最大 I/O 请求数，可用于提升索引性能。     3. IVF_FLAT索引相关参数： - nlist：聚类的数量。   - nprobe：查询聚类的数量。        **约束限制：** 不涉及。 **取值范围：** - metric_type: 1. 稠密向量支持度量方式："IP"、"L2"和"COSINE"。   2. 稀疏向量支持度量方式："IP"。     - index_type: 1. 稠密向量支持索引类型："HNSW"、"HANNS"和"IVF_FLAT"。   2. 稀疏向量支持索引类型："SPARSE_INVERTED_INDEX"和"SPARSE_WAND"。   3. 标量字段支持索引类型："INVERTED"。     - params： 1. HNSW索引类型参数： - M：\[2, 2048\]   - efConstruction：\[1, 2000\]     2. HANNS索引相关参数： - max_degree：\[1, 512\]   - search_list_size：\[1, 1000\]   - encoding_type: SQ/PQ/HVQ   - pq_code_budget_gb_ratio：(0.0, 1.0\]   - beamwidth：\[1, 16\]     3. IVF_FLAT索引相关参数： - nlist：\[1, 65536\]   - nprobe：\[1, nlist\]        **默认值：** - metric_type: 1. 稠密向量："L2"。   2. 稀疏向量："IP"。   3. 标量：无须配置     - index_type: 1. 稠密向量："HANNS"。   2. 稀疏向量："SPARSE_INVERTED_INDEX"。   3. 标量："INVERTED"。     - params：对应索引类型的配置参数。 1. HNSW索引类型参数： - M：16。   - efConstruction：200。     2. HANNS索引相关参数： - max_degree：56。   - search_list_size：100。   - encoding_type: 默认SQ。   - pq_code_budget_gb_ratio：0.125。   - hvq_nbits: 1   - beamwidth：4     3. IVF_FLAT索引相关参数： - nlist：128   - nprobe：8        |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数      | 参数类型   | 描述                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| code    | String | **参数解释：** 返回码。参见错误码章节。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值:** 不涉及。 |
| message | String | **参数解释：** 描述信息。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值:** 不涉及。        |
   
**状态码：400**
表4响应Body参数 
| 参数      | 参数类型   | 描述                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| code    | String | **参数解释：** 返回码。参见错误码章节。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值:** 不涉及。 |
| message | String | **参数解释：** 描述信息。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值:** 不涉及。        |
   
#### 请求示例
- 向量索引示例
  ```
  {
    "store_name" : "test-storename",
    "collection_name" : "test-collection",
    "index_param" : {
      "index_name" : "vector_index",
      "field_name" : "vector",
      "params" : {
        "index_type" : "HANNS",
        "metric_type" : "L2",
        "max_degree" : 56,
        "search_list_size" : 200,
        "encoding_type" : "PQ",
        "pq_code_budget_gb_ratio" : 0.125,
        "beamwidth" : 4
      }
    }
  }
  ```
  
-  标量索引示例
  ```
  {
    "store_name" : "store_test",
    "collection_name" : "collection_test",
    "index_param" : {
      "index_name" : "scalar_index",
      "field_name" : "id",
      "metric_type" : "L2",
      "params" : {
        "index_type" : "INVERTED"
      }
    }
  }
  ```
  
 
#### 响应示例
**状态码：200**
创建索引成功
```
{
  "code" : "LMS.00000000",
  "message" : "create index success"
}
```
**状态码：400**
Bad Request
```
{
  "code" : "LMS.00001001",
  "message" : "ErrInvalidParameter: The input parameter is incorrect."
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | 创建索引成功      |
| 400 | Bad Request |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dwr/ErrorCode.html)。
