使用内容处理web服务自定义SharePoint 2013搜索体验

Categories: Other
Tags: No Tags
Comments: No Comments
Published on: 2012 年 11 月 23 日

[原文发表地址] Customize the SharePoint 2013 search experience with a Content Enrichment web service

[原文发表时间]   13 Nov 2012 9:59 AM

您是否希望如何能够做到在内容索引的编制上拥有更多的自主性,并且能够按照所查询的结果呈现出来?在 SharePoint 2013 中,您可以从内容处理组件中添加一个标注到您自己的 web 服务当中,于是您可以在某一内容生成索引之前操作它。这使得用一种全新的方式去来对搜索结果进行数据透视成为可能。例如你可以:

  • 将可过滤的托管属性标准化,从而使过滤器看起来更简洁。
  • 通过从非结构化文本中提取数据来创建新的过滤器。
  • 基于托管的属性值计算创建出新的过滤器。

此功能类似于SharePoint 2010中管道扩展性阶段的快速搜索,但存在一些差异:

  • 在 SharePoint 2010 快速搜索中, 代码是在一个沙箱中被执行的,而 SharePoint 2013 允许您将该代码放在 web 服务中。这可以减少服务器开销,并允许您在任何地方运行代码。
  • Web 服务处理并返回托管的属性,而非爬网属性。托管的属性对应了实际上真正需要索引的内容,因此更易于管理。
  • 您可以定义触发器,从而限制由 web 服务处理的项目集。如果您只想要处理一个内容子集,它将极大提高整体性能。

在本文中,我们将浏览一个基本的应用场景,现在我们有一个热门电影的列表。列表项中的元数据相对于实际放映并不一致,并且可用于对搜索结果进行透视的元数据很有限。

我们将引导您如何按照这种搜索体验来进行搜索……

……对于下面这种情况,不需要修改原始内容。请注意左边栏,列表的Title和Director等属性已经被用作标准化的过滤器,并且我们还定义了一个新的过滤器叫做"YearsSinceRelease"。

若要了解什么是可能实现的富内容web 服务,重要的需要很好的理解内容处理过程中发生了什么,以及 web 服务标注及其他一切相关的事情在哪里发生。

本文将深入到内容处理过程中发生的事情以及 web 服务如何标注,给读者一个整体的详细信息。我们会再向您展示如何创建一个示例列表和 web 服务,并使该服务操作列表的数据用来创建新的精确搜索。

内容的处理过程中发生了什么

内容处理组件从爬网组件接收爬网属性并输出托管属性到索引组件,但是介于两者之间发生了事情呢?

在内容处理组件内部,有一次称作“流”的组件,一次处理一个爬网项。当项目已编制索引时,回调发送回爬网程序确认该项是否可搜索。索引项目的成功或失败可以由搜索管理中心(Search Administration)的管理员检查 (访问爬网日志(Crwal Log),然后转到错误故障(Error Breakdown)).

该流组件是对应该如何处理的已爬网的项目以准备进行索引的一种规范。这些流又不同的分支,可以处理不同的操作,如插入、删除和部分更新。处理删除和部分更新的分支包含web 服务标注。

流的主分支处理新的插入和更新的文档,并且包含不同的阶段,从爬网项目中提取信息,并创建托管的属性。

在流的开始时,新的爬网属性会在搜索管理数据库中被注册。紧跟其后的下一个阶段是解析二进制文档格式,如Office或 PDF 文档。在文档解析期间,对于某些文档类型有一个Ifilter的标注。文档解析从解析器中添加新的爬网属性。无法将爬网属性映射到托管属性,直到它被注册到管理数据库中。在所有的爬网属性都搜集完成后,进入到另一个阶段,根据搜索的架构将爬网属性映射到托管属性。这一工作后的所有阶段都只工作在托管属性上。

下一阶段处理安全描述符,并将它们转换为索引组件所使用的内部格式。自动语言检测发生在该 web 服务的标注之前,并设置语言托管属性的值。该 web 服务标注之后,有一个进程,它是与人们搜索所创建的拼音名称变更相关的。

下一步,所有托管属性上断字。紧跟其后的是实体提取和其他阶段,像元数据提取和总结文件。文档中被发现的链接将被写入到分析报告数据库中以便以后进行处理。最后要提的是,托管的属性是索引化的。

总之,重点要注意的是 web 服务标注只能读取托管属性。Web 服务需要作为输入,首先必须被映射到托管属性的任何爬网的属性值。Web 服务标注可以只访问在该 web 服务标注之前,存在的托管属性,不托管的属性设置进一步向下流动。Web 服务标注可以将托管的属性传递回流,只要它们是搜索架构的一部分。

No Comments - Leave a comment

Leave a comment


Welcome , today is 星期六, 2017 年 05 月 27 日