【问题标题】:Searching date meta tags in Sharepoint在 Sharepoint 中搜索日期元标记
【发布时间】:2008-10-03 10:06:05
【问题描述】:

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

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

【问题讨论】:

    标签: sharepoint search


    【解决方案1】:

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

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

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

    【讨论】:

    • 你也可以只包装 HTML IFilter,它负责提取属性并将它们发送到下游。
    【解决方案2】:

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

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

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

    【讨论】:

    • 实际上爬虫确实找到了元标记,正如我在我的问题中所说的那样。问题是它确实支持值类型的映射/转换。
    猜你喜欢
    • 2011-10-18
    • 1970-01-01
    • 2017-02-18
    • 2019-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多