
# 索引管理
在工业数字模型驱动引擎-数据建模引擎（xDM Foundation，简称xDM-F）中，索引是一种对数据模型中单个属性或者多个属性的值进行排序的存储结构，用于快速根据属性定位到具体实例数据行，类似于数据的目录。您只有定义了索引，且索引的"执行结果"为"成功"时，才能进行查询和分析操作。本文介绍如何在应用运行态创建、查看、删除索引等操作。
#### 约束与限制
- 仅支持对"模型类型"为"实体模型"的自定义数据实体和关系实体进行索引的创建和删除操作。
- 删除索引时，如果删除的索引也存在于应用设计态，应用重新部署后，应用运行态将重新执行此索引。
- 在MySQL数据库类型的应用中，单张数据库表上创建的索引总数不能超过64个。
- 基础属性相关索引仅支持在默认租户（唯一编码为"-1"，名称为"basicTenant"）中维护，且可继承至其他租户。扩展属性相关索引则由各租户独立维护，支持在各自租户范围内配置和管理。
- 为了更好地管理和维护xDM-F应用的权限控制和策略配置，支持对xDM-F内置应用（XDM应用）的以下数据模型进行新增、删除及查看等索引管理的操作。
  - XDMUserGroup
  
  - XDMTeam
  
  - XDMRole
  
  - XDMTeamRole
  
  - XDMPolicySet
  
  - XDMUser
  
  - XDMTeamAndTeamRoleRelation
  
  - XDMPermission
  
  - XDMPolicyRule
  
  - XDMPermissionOperation
  
  - XDMPolicy
  
  - XDMPermissionAttribute
  
  - XDMPermissionAssignment
   
本文以管理数据实体的索引为例，根据实体的不同，详细操作步骤略有区别。
#### 前提条件
已[登录应用运行态](https://support.huaweicloud.com/consog-idme/idme_consog_0023.html)。
#### 创建索引
1. 在左侧导航栏中，选择"数据模型管理 \> 数据实体"，进入数据实体页面。
2. 找到待操作的数据实体，单击![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001778192818.png)。
3. 选择"功能配置"页签，进入功能配置页面。
4. 在"设置规则 \> 索引管理"中，单击"新增"。
5. 在弹出的"新增索引"窗口中，设置如下信息。 
   - 索引类型：根据业务需求，选择合适的索引类型，默认选择"普通索引"。索引类型详情请参见[联合索引概述](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0120.html)。
   
   - 属性列表：在左侧可选属性列表框勾选需要作为索引的属性，单击![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001824975977.png "点击放大")，将属性添加至右侧已选属性列表框中。
   
   
   
   
6. 单击"确定"。
7. 在弹出的提示框中，单击"确定"。
 
#### 查看索引
1. 在左侧导航栏中，选择"数据模型管理 \> 数据实体"，进入数据实体页面。
2. 找到待操作的数据实体，单击该数据实体编码，进入数据实体详情页面。
3. 选择"功能配置"页签，即可在"设置规则 \> 索引管理"下查看到该实体下的所有索引。 
   如需查看索引的属性详情，可在需要查看属性详情的索引行中，单击![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001824855753.png)，即可在弹出的窗口中查看该索引的所有属性详情。
   
   
 
#### 删除索引
1. 在左侧导航栏中，选择"数据模型管理 \> 数据实体"，进入数据实体页面。
2. 找到待操作的数据实体，单击![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001824992533.png)。
3. 选择"功能配置"页签，进入功能配置页面。
4. 在"设置规则 \> 索引管理"中，找到需要删除的索引。
5. 在需要删除的索引行中，单击![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001778176442.png)。
   
   如存在多条索引，可勾选需要删除的索引，单击"删除"。
   
   
6. 在弹出的提示框中，单击"确定"。
 
#### 调整属性优先级
当索引存在多个属性时，您可以根据以下操作调整索引属性的优先级。
1. 在左侧导航栏中，选择"数据模型管理 \> 数据实体"，进入数据实体页面。
2. 找到待操作的数据实体，单击![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001778352646.png)。
3. 选择"功能配置"页签，进入功能配置页面。
4. 在"设置规则 \> 索引管理"中，找到需要调整属性优先级的索引。
5. 在需要调整属性优先级的索引行中，单击![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000001824992377.png)，弹出"编辑联合索引"对话框。
6. 在右侧已选属性列表中，单击需要调整的属性行并上下拖动，调整属性的优先级。 
   属性位置越靠上，优先级越高。
   
   
7. 完成调整后，单击"确定"。
8. 在弹出的提示框中，单击"确定"。
 
#### 执行结果
索引的执行结果主要分为：初始态、执行中、待创建、成功和失败。
表1执行结果 
| 名称  | 说明                                                                                                                                                                                      |
|:---|:---|
| 初始态 | 表示索引定义完成，待系统调用执行接口，将索引添加至应用的数据库中。                                                                                                                                                       |
| 执行中 | 表示索引规则正在应用的数据库中执行，待返回结果。 您可以单击操作栏的![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000002312479516.png)，重新执行索引规则。 |
| 待创建 | 表示索引规则未提交/应用上不存在此模型/索引字段在表中不存在，请联系运维人员处理。                                                                                                                                               |
| 成功  | 表示索引在应用的数据库中创建成功。                                                                                                                                                                       |
| 失败  | 表示索引在应用的数据库中创建失败，请联系运维人员处理。                                                                                                                                                             |
   
