5

我目前正在考虑从 Sharepoint 索引一个 ASP 网站,我需要复制用户熟悉的旧“高级搜索”模式。为了做到这一点,我需要从网页中索引一些元标记。这很容易完成,对于文本字段,我也可以在搜索中使用它们。但是对于日期元标记,例如“过期”或“已发布”,我遇到了一些问题。问题基本上是元标记被抓取为“文本”,但我需要 Sharepoint 将它们解析为日期时间。我在TechNet上看到过一些帖子要求相同,但没有答案。

1https ://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=2614064&SiteID=17 TechNet

4

2 回答 2

3

你没有做错任何事,这就是产品的工作原理。补充一下前面所说的,定制并不容易。

解决此问题的正确方法是为 HTML 创建自定义协议处理程序。这是一个自定义 COM 对象,它实现了一些接口。MOSS 2007 SDK 有一个协议处理程序参考。

当我们这样做时,我们创建了一个 ini 文件,这样我们就可以定义我们希望 META 字段被抓取的类型(String、Int、DateTime)。然后,当您添加自定义属性时,所有内容都已正确解析。然后,您可以像往常一样使用自定义属性。

于 2008-11-03T15:35:37.870 回答
1

内置在搜索中的网络爬虫是初级的,您将无法轻松扩展它以包含元标记。据称您可以编写自己的协议处理程序并在自己的内容源中抓取 ASP 页面;据称这行得通。我认为实际上没有人编写自己的协议处理程序。

您会对 SharePoint 爬虫提供的功能感到失望,这就是为什么官方论坛上也没有答案的原因——因为真正的答案是“不能轻易做到,抱歉”。

您可以通过编写一个自定义 Web 服务(基于 ASMX 或 WCF)来破解某些东西,该服务本身会爬取 ASP 页面的元标记。从那里,您可以将 Web 服务结果拉入可搜索的 BDC,然后在搜索结果/BDC 数据中,您可以获得指向原始页面的链接。它就像一个 Rube Goldberg 设备,我知道,但是相信我,当我说它比弄清楚如何编写协议处理程序更容易时。

于 2008-10-03T19:35:02.077 回答