搜索服务可在本地网络上为您提供 GIS 内容的可搜索索引。搜索服务在进行大型的企业级部署(GIS 数据分布在多个数据库及文件共享中)时用处最大。GIS 分析人员可通过输入搜索服务的 URL 链接,然后输入一些搜索词查找所需的数据,而不必从头至尾浏览所有数据源。ArcMap 为用户提供了一个搜索接口,用于帮助用户以这种方式搜索数据并将结果数据集拖放到地图中。
仅 Windows 操作系统支持搜索服务。
搜索服务的工作原理
搜索服务主要依赖于通过服务器构建及维护的 GIS 内容索引。当用户发出搜索请求时,搜索服务会去查找匹配的索引,并返回搜索结果。
任何可在 ArcMap 目录 窗口中查看的 GIS 数据都可用于建立搜索索引。
最初构建索引时需要花费一些时间。索引构建完毕后,新增项目会被定期添加到该索引中(默认情况下为每小时一次)。要检测已删除的项目或对现有项目的编辑,您必须从头开始重新构建索引。默认情况下每天一次。
磁盘中索引的大小因具体情况而异,具体取决于项目数量和每个项目描述中的内容量。
索引由对应的地理处理服务进行维护,该服务在您创建搜索服务时进行创建。地理处理服务与搜索服务的名称相同,只不过以 _indexer 作为后缀。如果您查看的是 ArcGIS Server 管理员目录,您还将看到两项辅助建立索引的附加服务。它们是 IndexGenerator 和 IndexingLauncher。
索引存储在服务器目录下。安装 ArcGIS for Server 时,默认情况下,会在 C:\arcgisserver\directories\arcgissystem\arcgisindex 下创建一个目录。如果在多台计算机上安装 ArcGIS for Server,则需要编辑此目录,使其使用站点上所有计算机都能访问的某一位置的共享网络路径。
注:
在服务器上,搜索服务只能有一个索引目录。
如何创建搜索服务
安装 ArcGIS for Server 时,已在 Utilities 文件夹中为您创建了一项搜索服务(及其附带的 _indexer 服务)。其名称为 Search,默认情况下处于停止状态。您可以在 ArcGIS Server Manager 或者 ArcGIS for Desktop 中启动该服务。有关完整的说明,请参阅以下主题:
此外,ArcGIS Server 站点中还可以加入多项搜索服务。要创建其他搜索服务,必须使用 ArcGIS Server 管理员目录。有关完整说明,请参阅创建搜索服务。
如何准备用于搜索服务的数据
可以为搜索服务准备数据,方法为将数据共享到网络中,提供关于数据项目的相关信息,并注册包含搜索服务数据的文件夹或地理数据库。
在网络上共享数据
在创建搜索服务前,必须在网络上共享要建立索引的所有文件夹,并确保 ArcGIS Server 帐户具有该数据的读取权限。此外,可能会通过搜索方式来添加数据的任何用户都必须具有对数据的访问权限。
通过将数据库连接文件 (.sde) 放在将建立索引的共享网络位置的文件夹中,可使索引中包含数据库以及企业级、工作组和桌面地理数据库。如果使用数据库身份验证进行连接,请确保 ArcGIS for Server 和 ArcGIS for Desktop 已安装所需的数据库客户端,并且用户名和密码已保存在数据库连接文件中。
提供适当的数据项相关信息
ArcGIS for Desktop 允许您输入有关数据项的信息,例如摘要、制作者名单和标签。这正是被添加到索引中的数据项卡基本信息。项目的完整元数据不会添加到索引中。
注册用于建立索引的文件夹和地理数据库
新的搜索服务不会在整个企业内抓取 GIS 数据。出于性能方面的考虑,它只对显式注册到搜索服务的文件夹和地理数据库建立索引。
应将基于文件的数据(例如 shapefile)、地理数据库和数据库连接文件放置到已在网络中共享且 ArcGIS Server 帐户具有访问权限的文件夹中。然后可通过编辑搜索服务属性来注册共享的文件夹。尽管可直接注册地理数据库和数据库连接文件,但它们仍必须存储在用户和 ArcGIS Server 帐户具有访问权限的网络文件夹中。
有关在 ArcGIS Server Manager 中注册文件夹的说明,请参阅将数据文件夹和地理数据库注册到搜索服务。
如何编辑搜索服务属性
启动搜索服务后,您可以对该服务进行微调,包括调整搜索索引的位置、对新项目建立索引的频率、从头开始重新构建索引的频率、从头开始重新构建索引的日期和时间以及应包括在索引中的文件夹和数据库连接。这些参数可以在 ArcGIS Server Manager 或 ArcGIS for Desktop 中进行调整。有关说明,请参阅以下主题:
如何使用搜索服务
可使用搜索服务增强 ArcGIS for Desktop 的搜索 窗口的功能。
首先,需要通知 ArcGIS for Desktop 应使用哪项搜索服务。要进行此操作,单击索引/搜索选项按钮,然后单击高级选项卡,再单击添加。要获取服务 URL,需单击打开按钮 并浏览到 GIS Server 连接上的服务。这会为注册搜索服务 填充服务的 URL、名称和描述。
在搜索 窗口中执行搜索前,单击搜索 工具条中的下拉列表并选择企业级。这样就会使用该搜索服务,而不只是简单地在本地计算机或 ArcGIS Online 上进行搜索。
对于搜索服务的所执行的请求可以在空间上加以约束。这表示您可以选择搜索 窗口选项以便在当前范围内进行搜索,并且您的搜索将只返回处于当前地图范围内的结果。搜索服务还支持搜索 窗口中的启用基于比例的空间过滤器选项。
搜索服务的安全性
搜索服务仅可用于内部网络。对于向 Internet 提供某些服务的服务器实例,可以创建一个单独的 ArcGIS for Server 实例,专供搜索服务内部使用。
对于不同敏感度的数据,可使用 ArcGIS for Server 用户和角色来配置进一步细化的搜索服务访问权限。例如,您可以配置一种搜索服务供所有用户使用,而另一种独立的高安全性搜索服务则只对使用 ArcGIS for Server 配置的高安全性角色用户可见。
搜索服务性能
每次只能由一个搜索服务实例对一个文件夹建立索引。例如,如果您分配的最大实例数为三个,并且列出了三个要建立索引的文件夹,则应在“任务管理器”中看到三个进程在建立索引。如果分配的最大实例数为两个,则只能看到两个进程在建立索引,即使列出的文件夹有三个。其中的某个文件夹只能等到有进程可用时才能建立索引。
通过列出要建立索引的多个低级别文件夹(而不是一个高级别文件夹),您可以改善搜索服务的性能。例如,您可通过配置服务器对 C:\Data\Canada、C:\Data\USA 和 C:\Data\Mexico 这三个文件夹分别建立索引,而不是仅仅对 C:\Data 建立索引。这样可以将索引工作分配到多个同步进程中。
提示:
您不必列出所有要建立索引的子文件夹,但列出几个低级文件夹相比于列出一个高级文件夹,会获得更好的性能。