索引提供了数据快捷方式。 与书本中的索引(用于列出关键短语以帮助您定位信息)类似,托管要素图层或托管表上定义的索引可帮助软件在查询图层时找到所需的信息。
多种类型的索引用于提高托管要素图层和表的查询性能。 一些索引由 ArcGIS Online 定义,其他索引可由用户定义。 每个索引专门用于提高特定类型查询的性能或满足特定要求。
您必须是项目所有者或组织管理员才能添加或管理索引。
重新构建空间索引
空间索引可以提高空间查询的性能,例如绘制地图要素或搜索要素。
在您发布托管要素图层时,将为其创建空间索引。 如果您或其他编辑者将要素添加到图层初始范围之外的图层,则空间索引将过期,您可能需要进行重新构建。 例如,如果托管要素图层中仅包含一个城市内的要素,但后来追加了包含全国范围内要素的数据,则应该重新构建该图层的空间索引。
一般来说,如果您发现图层的绘制速度比以前慢,且大量要素已添加到初始范围外的图层,则请重新构建空间索引。 空间索引在要素图层的空间字段上进行定义。
要在图层上重新构建空间索引,请完成以下步骤:
- 以托管要素图层所有者的身份或以组织管理员的身份登录到组织。
- 打开托管要素图层的项目页面。
- 单击设置选项卡。
- 滚动到管理索引部分。
- 确保空间索引选项卡处于选中状态,然后单击重建索引。
- 启用要重新创建空间索引的一个或多个子图层旁边的切换按钮,然后单击重新构建。
注:
在重建空间索引时,该图层的用户可能会发现性能降低。 如果可能,请在图层无人使用时重新构建空间索引。
为属性字段添加索引
属性和全文本索引可以减少查询(例如搜索或过滤)查找所请求数据所需的时间。
如果在根据表或图层中的非空间属性过滤或应用定义时发现需要花费很长时间才能获取结果,则可以将索引添加至一个或多个字段以便有可能提高查询性能。
可以将属性索引添加至 ArcGIS Online 支持的所有字段类型。 如果过滤器或定义需要在字符串字段中查找特定词语或短语,则可以添加全文本索引。
如果用户目前一次搜索或查询一个字段,为该单一字段定义一个索引。 如果针对多个字段运行单一搜索或查询,可以在经常一起查询的所有字段上定义索引。
建议不要将索引添加至经常编辑的字段,因为可能延长更新已定义索引的字段所需的时间。 为不会查询的字段添加索引也没有意义。
索引使用要素数据库中的少量空间,因此可能会消耗配额。
添加属性索引
要将属性索引添加至托管要素图层中图层或表中的一个或多个字段,请完成以下步骤:
- 以托管要素图层所有者的身份或以组织管理员的身份登录到组织。
- 打开托管要素图层的项目页面。
- 单击设置选项卡。
- 滚动到管理索引部分。
- 单击字段索引选项卡。
- 使用图层或表下拉列表选择正确的图层或表。
- 单击添加索引。
- 选择属性,然后单击下一步。
- 选择要添加属性索引的字段,然后单击添加至列表。
要定义包含多个字段的索引,选择其他字段,然后再次单击添加至列表。
最多可以在属性索引中包含 16 个字段。 在多个字段上定义的索引可用于同时查询所有字段的查询。
- 在几乎任何情况下,设置升序选项。
如果针对字段运行的查询为降序查询,则创建降序索引。
- 如果要添加索引的字段包含唯一值并且始终包含唯一值,启用字段值唯一切换按钮以创建唯一索引。
当索引中存在多个字段时,如果启用字段值为唯一切换按钮,则多种字段中的值组合必须唯一。 只要多个字段中有一个包含唯一值,则索引中所有字段中的值组合将唯一。
- 单击创建索引。
创建索引所需的时间取决于图层或表格中的属性或行数。
索引即会创建并在字段索引选项卡的索引列表中显示。
将全文本索引添加至字符串属性字段
要将全文本索引添加至托管要素图层中图层或表中的字符串字段,请完成以下步骤:
- 以托管要素图层所有者的身份或以组织管理员的身份登录到组织。
- 打开托管要素图层的项目页面。
- 单击设置选项卡。
- 滚动到管理索引部分。
- 单击字段索引选项卡。
- 使用图层或表下拉列表选择正确的图层或表。
- 单击添加索引。
- 选择全文本,然后单击下一步。
- 选择要添加全文本索引的字符串字段,然后单击添加至列表。
指定的字段只能参与一个索引。
- 单击创建索引。
创建索引所需的时间取决于图层或表格中的属性或行数。
索引即会创建并在字段索引选项卡的索引列表中显示。
添加列存储索引
如果图层或表包含大量数据(超过数百万个要素或行),列存储索引可以提高报告、仪表盘、图表或图形中使用的计算或聚合的性能。
例如,如果您在 Map Viewer 中配置一个图表来显示要素图层中多个字段的总和,并且发现需要花费超过数秒的时间呈现图表,则将列存储索引添加至要素图层中的这些字段时,可能减少绘制图表所花费的时间。 同样,如果您创建一个仪表盘来表示图表中的计算值并且需要花费一些时间加载仪表盘,则计算中包含的字段上的列存储可能有所帮助。
可以为托管要素图层中的每个子图层或表添加列存储索引。
要向字段添加列存储索引,请完成以下步骤:
- 以托管要素图层所有者的身份或以组织管理员的身份登录到组织。
- 打开托管要素图层的项目页面。
- 单击设置选项卡。
- 滚动到管理索引部分。
- 单击列存储索引选项卡,然后单击添加索引。
如果托管要素图层中的所有子图层均定义了列存储索引,则添加索引处于非活动状态。
将显示列存储索引弹出窗口。
- 使用图层下拉菜单选择要添加列存储索引的子图层。
- 选中要建立索引的字段旁边的框。
如果已知字段名称,在搜索字段文本框中输入这些名称,一次一个。 在您进行输入时,匹配字段列表将更新以帮助您查找所需的字段。
- 单击创建索引。
可能需要花费几秒钟时间完成索引创建。
在创建索引后,将关闭列存储索引弹出窗口。 新索引将在列存储索引选项卡上列出。
删除索引
如果发现添加的索引未提高查询性能,或者降低了查询或编辑性能,则可以删除索引。
如果您确定您需要具有其他定义的索引(例如由于两个字段经常一起查询,因此您希望将字段添加至索引),则还可以删除索引。 在此情况下,您必须删除现有索引并创建包含索引所需的所有字段的另一个索引。
注:
您无法删除空间索引。
在此界面外部对数据执行的其他操作还会创建索引。 例如,当配置搜索 Web 地图内容时,将在 Web 地图中的图层上创建索引。 同样,当将过滤器添加至 Web 地图中的图层时,Map Viewer 会将索引添加至图层中的字段。
ArcGIS Online 还会在编辑者追踪字段、图层的对象 ID 和要素 ID 上创建索引。 所有这些系统字段索引旁都有一个锁定符号,无法将其删除。要从托管要素图层的图层或表中删除属性、全文本或列存储索引,请完成以下步骤:
- 以托管要素图层所有者的身份或以组织管理员的身份登录到组织。
- 打开托管要素图层的项目页面。
- 单击设置选项卡。
- 滚动到管理索引部分。
- 要删除属性或全文本索引,单击字段索引选项卡,然后执行以下操作:
- 选择要移除索引的图层或表格。
- 单击索引旁的删除按钮
将其从图层或表格中移除。将显示一个确认弹出窗口。
- 要确认您想要删除索引,单击确定。
- 要删除列存储索引,单击列存储索引选项卡,然后执行以下操作:
- 单击索引旁的删除按钮
将其从图层或表格中移除。将显示一个确认弹出窗口。
- 单击确认删除索引。
- 单击索引旁的删除按钮