SharePoint Server 中的搜索架构概述
适用于:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
搜索索引对于搜索极其重要。 搜索索引中的内容决定了用户通过输入搜索查询或者通过与 Internet 或 Intranet 页面交互来查找信息时可找到的内容。
本文介绍如何使用搜索架构在搜索索引中收集和检索内容。 搜索架构包含已爬网属性、已爬网属性类别、已爬网属性到托管属性的映射以及托管属性设置。 托管属性设置定义了您可以搜索到的内容和搜索方式,例如是否可以对属性进行精简或查询。
正在爬网的属性和已爬网属性
若要建立搜索索引,则必须先对内容进行爬网。 可以对各种内容源进行爬网,例如 SharePoint Server 内容、文件共享或用户配置文件。 爬网的项目的内容和元数据表示为已爬网属性。
已进行爬网且传递到内容处理组件的所有项目都有与之关联的已爬网属性。 这些属性的示例为 Author 、 Title 和 Creation Date 。 将会自动发现任何新的已爬网属性。
已爬网属性分为若干个基于项目的 IFilter 或协议处理程序的类别。 示例类别为 Office (Word 文档、Excel 工作簿等文件中的已爬网属性)、 业务数据 (示例数据库中的已爬网属性)和 Web (网站中的已爬网属性)。
有关爬网的详细信息,请参阅在 SharePoint Server 中规划爬网和联合。
托管属性和属性映射
若要将已爬网属性的内容和元数据包含在搜索索引中,则必须将已爬网属性映射到托管属性。 只有托管属性会写入搜索索引。
托管属性可以有多个属性。 托管属性中的设置可确定内容在搜索结果中的显示方式和用户可以搜索到内容的方式。
可以将多个已爬网属性映射到一个托管属性。 例如,您可以同时将"Writer"和"Author"已爬网属性映射到"Author"托管属性。 或者,您也可以将一个已爬网属性映射到多个托管属性。
此外,已爬网属性映射到托管属性的顺序可确定托管属性的内容。 例如,托管属性可以具有多个映射到其本身的已爬网属性,并可以设置为包括所有映射到其本身的爬网属性的所有值。 但是,如果在映射中使包含 SharePoint 标题的已爬网属性优于包含其他标题的已爬网属性,则搜索结果中将显示 SharePoint 标题。
已定义了已爬网属性和托管属性之间的一组默认映射,请参阅 SharePoint Server 中的已爬网和托管属性概述。
某些已爬网属性类型会自动生成新的托管属性和已爬网属性与托管属性之间的映射。 例如,SharePoint 库中的所有网站栏都具有此自动生成和映射。 当您在某个列表中创建网站栏并对该列表进行爬网时,将自动为该网站栏创建已爬网属性、托管属性以及两者之间的映射。
您可以更改默认映射或从已爬网属性到托管属性的任何其他映射,创建新映射或创建新托管属性。 当创建新托管属性时,或在更改现有托管属性的某些设置时,必须在托管属性及其值包含在搜索索引中之前完成完全爬网。 如果新的或已更改的属性包含在 SharePoint 库或列表中,您无需对整个 SharePoint 内容源开始完全爬网,就可以对此单个库或列表重新编制索引。 这与完全爬网具有相同的效果。
有关详细信息,请参阅下文中的表格托管属性设置概述。
搜索架构
搜索架构存储在搜索管理数据库中。 搜索架构包含:
已爬网属性与托管属性之间的映射。 可以从一个已爬网属性映射到一个托管属性,从一个已爬网属性映射到多个托管属性,从多个已爬网属性映射到一个托管属性,甚至从多个已爬网属性映射到多个托管属性。
托管属性应写入搜索索引的方式。 例如,应该将托管属性的值写入哪个全文索引以及写入哪个权重组(上下文)。
不同托管属性的设置。 例如,是否可以按特定托管属性对搜索结果进行搜索、查询或精简。
根据其 IFilter 或协议处理程序对属性进行分组的已爬网属性类别。 如果您编辑了某个已爬网属性类别,则您的更改将应用于该类别中的所有已爬网属性。 这会影响性能及项目在搜索索引中保存的方式。
搜索架构更新将每分钟通过搜索系统传播一次。
多搜索架构
您可以创建多个搜索架构。 主搜索架构在 Search Service 应用程序中定义,并可在管理中心中进行编辑。 网站集管理员和租户管理员可为特定网站集或租户修改搜索架构。 例如,网站集管理员可通过更改该网站集的搜索架构自定义搜索索引中包含的内容,并且通过此操作还可以自定义该网站集的搜索体验。 网站所有者可查看搜索架构,但无法更改它。
注意
[!注意] 您无法在管理中心中查看或更改网站集搜索架构。 要查看或更改网站集的搜索架构,必须使用"网站集管理"。
搜索索引
搜索索引由服务器上的文件夹中的一组文件组成。 内容处理组件可处理已爬网项目,使用搜索架构将已爬网属性映射到托管属性,以及将托管属性转换为写入搜索索引的形式。 除了各种全文索引外,还有标记为"可检索"和"可查询"的托管属性的单独索引。 此外,还存在属性矢量的单独索引以及数字索引。
索引更新组
当某个项目发生更改时,必须在对其再次爬网之后重新编制索引。 为了减少重新编制索引的工作,SharePoint Server引入了几个单独的索引更新组。
默认 包含大多数托管属性。 此索引更新组包含所有不属于"安全"、"链接"、"使用率"或"人员"索引更新组的托管属性。
安全 包含文档访问控制列表 (ACL) 托管属性
链接 包含与链接结构相关的托管属性
使用率 包含与使用率数据相关的托管属性
人员 包含与人员搜索相关的托管属性
每个更新组都存储在搜索索引中的不同文件夹中。
全文索引
全文索引包含存储在该全文索引中的可搜索托管属性的所有文本。 每个全文索引分为若干个权重组(也称为上下文)。 不同的上下文与托管属性的相对重要性相关,相对重要性是指用于计算搜索结果的总相关性排名的一种排名功能。 上下文的编号或 ID 并不重要;排名模型通过将贡献权重分配给特定上下文来确定其相对重要性。 较高的贡献权重会产生较高的排名分数。 有关详细信息,请参阅文章 SharePoint Server 中的搜索结果排名概述中的使用搜索架构影响搜索结果的排名一节。
除了默认全文索引外,还有两个预定义全文索引;SharePoint 条款全文索引 ( SpTermsIdx ) 和人员索引 ( PeopleIdx )。
默认情况下,大多数托管属性已映射到合适的上下文和全文索引。 我们不建议更改任何现有可搜索托管属性的上下文。
托管属性设置概述
托管属性中的设置可确定内容在搜索索引中的保存方式,用户是否可以搜索和检索内容,以及搜索和检索内容的方式。
搜索架构可在管理中心、网站集管理和租户管理中进行编辑。 网站管理员可查看搜索架构,但无法编辑它。 下表介绍了不同的设置以及它们是否可在不同管理员级别进行编辑。
托管属性设置 | 功能 | 示例 | 适用对象 | 更改设置后需要对 SharePoint 列表/库进行完全爬网或重新编制索引 |
---|---|---|---|---|
可搜索 | 允许对托管属性的内容的查询。 此托管属性的内容包含在全文索引中。 | 如果属性为“author”,那么对“Smith”的简单查询将返回包含词“Smith”的项目以及其 author 属性包含“Smith”的项目。 | 管理中心 / 网站集管理 / 租户管理 | 是 |
高级可搜索设置 | 允许查看和更改将托管属性写入到的全文索引。 它还允许更改托管属性的上下文以进行相关性排名计算。 我们不建议更改任何现有托管属性的上下文。 有关详细信息,请参阅文章 SharePoint Server 中的搜索结果排名概述中的使用搜索架构影响搜索结果的排名一节。 | 管理中心 / 网站集管理 / 租户管理 | 是 | |
可查询 | 允许对特定托管属性的查询。 托管属性名称必须包含在查询中:在查询本身中指定或以编程方式包含在查询中。 | 如果托管属性为“author”,则查询必须包含“author:Smith”。 | 管理中心 / 网站集管理 / 租户管理 | 从禁用到启用。 |
可检索 | 允许在搜索结果中返回此托管属性的内容。 允许托管属性的此属性出现在搜索结果中。 | 管理中心 / 网站集管理 / 租户管理 | 从禁用到启用。 | |
允许多个值 | 允许此托管属性中存在多个相同类型的值。 | 如果这是“author”托管属性,并且文档有多个作者,那么每个作者姓名将作为单独的值存储在托管属性中。 | 管理中心 | 是 |
可精简 | 是 - 活动:允许使用此属性作为前端的搜索结果的精简设置。 必须在 Web 部件中手动配置精简设置。 是 - 推迟:允许在稍后将“可精简”切换为“活动”,在切换时不必执行完全重新爬网。 这两个选项都需要使完全爬网生效。 重要说明: 如果选择"是 - 活动"或"是 - 延迟",还必须将托管属性设为"可查询"。 新式搜索体验不支持。 |
如果"author"托管属性设置为"可查询",则可以在稍后在搜索前端将 Author 设置为精简设置。 | 管理中心 | 从禁用到启用(如果已设置为“可排序”) |
可排序 | 是 - 活动:允许在返回结果集前根据属性对结果集进行排序。 是 - 推迟:允许在稍后将排序切换为"活动",在切换时不必执行完全重新爬网。 这两个选项都需要使完全爬网生效。 新式搜索体验不支持。 |
用于无法同时排序和检索的大型结果集。 | 管理中心 | 从禁用到启用(如果已设置为“可精简”) |
别名 | 当您要在查询和搜索结果中使用别名而不是托管属性名称时,为托管属性定义别名。 使用原始托管属性(而非别名)映射到已爬网属性。 | 当不想或无权创建新托管属性时,应使用别名。 | 管理中心 / 网站集管理 / 租户管理 | 否 |
标记规范化 | 允许独立于查询中使用的字母大小写和音调符号返回结果。 | 查询“curacao”还将匹配到“Cura?ao”、“curacao”和“Curacao”。 | 管理中心 / 网站集管理 / 租户管理 | 是 |
完全匹配 | 默认情况下,搜索返回针对托管属性的查询与托管属性的内容之间的部分匹配项。 选择“完成匹配”进行搜索,改为返回完全匹配项。 |
如果托管属性“Title”包含“Contoso Sites”,则只有查询 Title:“Contoso Sites”将提供结果。 | 管理中心 / 网站集管理 / 租户管理 | 是 |
仅) (SharePoint Server 2019 中非特定语言标记化 | 如果有多语言内容,并且托管属性包含基于元数据术语集或其他标识符的标记,请选择非特定语言标记化。 默认情况下,当搜索将查询和内容分解为 (标记化) 部分时,搜索取决于语言。 例如,包含英文和中文产品数据表的文档库,其中产品标识符具有非字母数字字符,例如“11.132-84-115#4”。 当搜索处理数据表时,它会检测其语言,并根据该语言标记其中 的所有内容 。 当用户搜索产品标识符时,搜索会根据其所在 SharePoint 网站的语言设置对其查询进行标记化。 如果网站设置为英语,并且用户搜索标记为中文文本的产品标识符,则令牌 可能不匹配 ,并且用户不会获得任何结果。 为了更好地为用户提供结果,请将产品标识符的已爬网属性映射到启用了非特定语言标记化的新托管属性“ProductID”。 指示用户针对新的托管属性搜索产品标识符,如下所示:ProductID:“11.132-8”。 |
如果产品标识符的已爬网属性映射到托管属性“ProductID”,则搜索将使用非特定语言标记化来针对“ProductID”的查询。 | 管理中心 / 网站集管理 / 租户管理 | 是 |
仅) (SharePoint Server 2019 进行查询标记化 | 使用此设置可帮助用户在包含具有非字母数字字符的元数据的托管属性中搜索时获得更好的搜索结果。 此设置会使针对托管属性的查询变慢。 希望快速输入查询,然后浏览结果以查找要查找的数据表的用户,通常输入类似于 ProductID:“132-884”的查询。 由于默认情况下,搜索将搜索索引的内容划分为比查询更小的部分,因此搜索可能找不到这些查询的匹配项。 当查询标记化得更精细时,搜索索引和查询中的标记之间更有可能存在匹配项。 用户还可以查询产品标识符的中间或最后一部分。 搜索数据表并且只希望获取与完整产品标识符匹配的结果的用户,通常会编写类似于 ProductID:“11.132-884-115#4”的查询。 精细的查询标记化不会对此类查询产生影响。 |
如果你有一个包含“11.132-884-115#4”的托管属性“产品标识符”,则像 ProductID:“132-884”这样的搜索可能会获得结果。 | 管理中心 / 网站集管理 / 租户管理 | 否 |
到已爬网属性的映射 | 此列表显示了所有映射到此托管属性的已爬网属性。 托管属性可从一个或多个已爬网属性获取其内容。 可以所有已爬网属性中的包含,或者包含第一个非空已爬网属性(基于指定顺序)中的内容。 |
管理中心 / 网站集管理 / 租户管理 | 是 | |
公司名称提取 | 允许系统在对新项目或更新的项目进行爬网时从托管属性中提取公司名称实体。 提取的实体在稍后可用于设置精简设置。 存在一个用于公司名称提取的预填充词典。 系统会将未更改的原始托管属性内容保存在索引中,还会将提取的实体复制到托管属性"companies"。 "companies"托管属性可配置为"可搜索"、"可检索"、"可排序"和"可精简"。 您可以在术语库中编辑公司名称词典。 有关详细信息,请参阅在 SharePoint Server 中管理公司名称提取过程。 新式搜索体验不支持。 |
管理中心 / 网站集管理 / 租户管理 | 是 | |
自定义实体提取 | 允许一个或多个自定义实体提取器与此托管属性关联。 这使得系统在对新项目或更新的项目进行爬网时可从托管属性中提取实体。 提取的实体在稍后可用于设置精简设置。 有关详细信息,请参阅在 SharePoint Server 中创建和部署自定义实体提取程序 新式搜索体验不支持。 |
管理中心 / 网站集管理 | 可访问 |