使用高级搜索

在任何内容页面选项卡上使用网站搜索或专用搜索来搜索项目时,您可以执行高级关键字搜索来缩小结果范围。 Map Viewer 中搜索要添加的图层(之前作为单独的测试版安装提供,但是现在自动包含在门户中)、搜索要在 Map Viewer 经典版 中添加的图层(之前称为 Map Viewer)和Scene Viewer 中搜索要添加的图层时,也可以使用高级关键字搜索。 您可以在高级搜索中使用以下任何一项:字段范围搜索布尔运算符分组。 将在以下部分中对此进行介绍。

字段

当在网站或 Map ViewerMap Viewer 经典版Scene Viewer 中搜索内容或群组时,可以指定字段,也可以使用默认字段。 对于项目,默认字段为 title、tags、snippet、description、type 和 typekeywords。 对于群组,默认字段为 id、 title、description、snippet、tags 和 owner。 始终会返回最佳匹配项。 有关这些字段的描述,请查看下表。

注:

您可以通过键入字段名称后跟冒号和您要查找的术语来搜索特定字段,例如输入 type:geojson 以查找 GeoJSON 项目。 对于包含多个单词的术语,建议您使用双引号以获得更精确的结果。 例如,"map services" 返回字段中带有地图服务的项目(以地图服务顺序返回),而 map services 则返回字段中包含地图或服务的项目。

如果未使用字段指示符,则会搜索默认字段。 例如,如果您希望向地图添加图层,并且知道所有者的名称,则可以在搜索范围内输入 owner:,后加所有者的用户名,以减少可能出现的一长串结果。

提示:

您可以通过将字段与 AND 运算符链接在一起来创建搜索字符串,例如 owner:esri AND tags:streets

项目字段

可以在搜索字符串中使用特定字段来细化项目搜索。 这些字段包括:

字段详细说明

id

项目的 ID;例如,id:4e770315ad9049e7950b552aa1e40869 会返回与此 ID 对应的项目。

owner

项目的所有者;例如,owner:esri 将返回 Esri 发布的所有内容。 字段和值区分大小写。

created

UNIX 时间表示创建项目的日期;例如,created: [1249084800000 TO 1249548000000] 将返回 2009 年 8 月 1 日中午 12 点至 2009 年 8 月 6 日上午 8 点 40 分之间发布的所有项目。

title

项目标题;例如,title:"California wildfire” 将返回标题中带有 California wildfire 的项目(以 California wildfire 顺序返回)。 为得到更精确的结果,请使用引号,特别是对于包括空格的术语。

type

Type 会返回项目的类型,它是预定义字段。 例如,术语 会返回 KML 类型的项目。 必须使用确切的项目类型名称。 项目类型匹配区分大小写,并且术语必须用双引号括起,以获得精确的匹配结果。 例如,使用 type:"Geocoding Service” 会返回地理编码服务项目。

typekeywords

typekeywords 字段可用于使用预定义的类型关键字优化项目类型的搜索。 必须使用精确的类型关键字名称。 为得到更精确的结果,请使用引号,特别是对于包括空格的字符串。 例如,要查找托管要素图层,可使用 typekeywords:"Hosted Service"

description

项目描述;例如,description:crimes 会查找描述中包含 crimes 一词的所有项目。 为得到更精确的结果,请使用引号,特别是对于包括空格的术语 - 例如,description:"reported crimes”

tags

标签字段;例如,tags:"San Francisco" 会返回具有 San Francisco 标签的项目。 为得到更精确的结果,请使用引号,特别是对于包括空格的术语。

snippet

摘要字段;例如,snippet:"natural resources” 会返回项目摘要中包含 natural resources 的项目。 为得到更精确的结果,请使用引号,特别是对于包括空格的术语。

accessinformation

访问信息;例如,accessinformation:esri 会返回使用 esri 作为资源制作者的项目。

access

访问字段;例如,access:public 会返回公开的项目。 此字段为预定义字段,可反映项目的最高访问权限(共享)级别。 可接受的值如下:

  • private - 只有项目所有者和具有所有内容访问权限的管理员可以访问项目。
  • shared - 对于与一个或多个群组共享的项目,项目所有者和通过群组成员身份具有该项目访问权限的人员可以访问项目。
  • org - 返回与组织共享的项目以及您所拥有的项目。 对于与组织以及一个或多个群组共享的项目,这些群组的成员也可以访问这些项目。
  • public - 返回与公众共享的项目。

group

群组 ID;例如,group:1652a410f59c4d8f98fb87b25e0a2669 会返回指定群组内的项目。

numratings

评级;例如,numratings:6 会返回评级为 6 的项目。

numcomments

评论次数;例如,numcomments:[1 TO 3] 会返回具有 1 到 3 次评论的项目。

avgrating

平均评级;例如,avgrating:3.5 会返回平均评级为 3.5 的项目。

orgid

组织的 ID,例如,orgid:5uh3wwYLNzBuU0Ef 会返回指定组织内的项目。

modified

UNIX 时间表示上次修改项目的日期;例如,modified:[1249084800000 TO 1249548000000] 将返回 2009 年 8 月 1 日中午 12 点至 2009 年 8 月 6 日上午 8 点 40 分之间修改的所有项目。

categories

组织内容类别;例如 categories:"Historical Maps” 会返回组织中归类为历史地图的项目。 为得到更精确的结果,请使用引号,特别是对于包括空格的术语。

群组字段

可以在搜索字符串中使用特定字段来细化对群组进行的搜索。 只会搜索公开群组或您具有访问权的群组。 这些字段包括:

群组字段详细说明

id

群组 ID;例如,id:1db70a32f5f84ea9a88f5f460f22557b 会返回与此 ID 对应的群组。

title

群组标题;例如,title:redlands 会返回标题中包含 Redlands 的群组。

owner

群组所有者;例如,owner:esri 会返回由 Esri 所有的群组。

description

描述;例如,description:"street maps" 会返回描述字段中包含 street maps 的群组。 为得到更精确的结果,请使用引号,特别是对于包括空格的术语。

snippet

摘要;例如,snippet:transportation 会返回群组摘要中包含 transportation 的群组。 为得到更精确的结果,请使用引号,特别是对于包括空格的字符串 - 例如,snippet:"transportation routes"

tags

标签字段;例如,tags:"bike lanes" 会返回具有 bike lanes 标签的群组。 为得到更精确的结果,请使用引号,特别是对于包括空格的标签字符串。

phone

联系信息;例如,phone:jsmith33@esri.com 会返回联系信息为 jsmith33@esri.com 的群组。

created

UNIX 时间表示创建群组的日期;例如,created:1247085176000 将返回 2009 年 7 月 8 日创建的群组。

modified

UNIX 时间表示上次修改群组的日期;例如,modified:1247085176000 将返回 2009 年 7 月 8 日修改的群组。

access

群组的访问等级。 值为 private、org 和 public。 例如,access:private 会返回私有群组,access:org 会返回所有组织成员均可访问的群组。 默认值为 private。

isinvitationonly

isinvitationonly 字段会返回需要邀请才能加入的群组。 例如,isinvitationonly:false 会返回不需要邀请即可加入的群组。 字段已通过 true 或 false 选项进行预定义。

orgid

组织的 ID,例如,orgid:5uh3wwYLNzBuU0Ef 会返回指定组织内的群组。

typekeywords

typekeywords 可用于搜索使用类型关键字的群组。 例如,要查找与火相关的群组,您可以使用 typekeywords:fire

范围搜索

利用范围搜索可以匹配下限与上限之间的字段值。 范围查询可以包括上限和下限,也可以不包括上限和下限。 包含范围查询用括号 ([]) 表示。 不包含范围查询用大括号 ({}) 表示。

例如,要查找 2009 年 12 月 1 日到 2009 年 12 月 9 日之间创建的所有项目,可使用 created:[1259692864000 TO 1260384065000]

创建字段包含创建项目的日期和时间(UNIX 时间)。 UNIX 时间(也用于修改字段)定义为从 1970 年 1 月 1 日午夜起至现在经过的总秒数。 网站以毫秒为单位存储时间,因此您必须在 UNIX 时间的末尾添加三个零。 此外,还必须在该数字前添上六个零。 这是因为该数字以字符串形式存储在数据库中。

范围搜索并不限于日期字段。 也可以对非日期字段使用范围查询,例如 owner:[arcgis_explorer TO esri]。 将查找 arcgis_explorer 和 esri 之间的所有者(包括 arcgis_explorer 和 esri)的所有项目。

布尔运算符

利用布尔运算符,可以通过逻辑运算符将搜索词组合在一起。 网站支持将 AND、OR、NOT 和减号 (-) 用作布尔运算符。 布尔运算符必须为大写。

布尔运算符详细说明

AND

AND 运算符是默认的连接运算符。 这意味着如果两个搜索词之间没有任何布尔运算符,则使用 AND 运算符。 只有给定字段或默认字段中同时存在这两个搜索词时,AND 运算符才会执行匹配。 这相当于使用集合的交集。

OR

OR 运算符用于链接两个搜索词,只要存在其中一个搜索词,即可找到匹配项。 这相当于使用集合的联合。

如要要搜索包含搜索词 recent fires 或仅包含 fires 的项目,可以使用查询 "recent fires" OR fires

NOT

NOT 运算符用于排除包含 NOT 后的搜索词的项目。 这相当于使用集合的差。 如果要搜索包含 California 但不包含 imagery 的文档,可以使用查询 California NOT Imagery

-

减号或禁止运算符类似于 NOT 运算符,可排除在符号后包含术语的项目。

如果要搜索包含 California 但不包含 imagery 的文档,可以使用查询 California -Imagery

分组

可以创建使用括号的子查询对子句进行分组。 如果您想控制查询的布尔逻辑,这将十分有用。

如果要搜索 California 或 recent 和 fires,可以创建表达式 (California OR recent) AND fires

您可以使用括号将多个子句分组到单个字段。