2008-10-03 34 views
5

我目前正在從Sharepoint索引ASP網站,我需要複製用戶熟悉的舊「高級搜索」架構。爲了做到這一點,我需要從網頁中索引一些meta標籤。這很容易完成,我也可以在搜索中使用它們。但是,對於日期元標籤,如「過期」或「發佈」,我有一些問題。問題基本上是元標記被抓取爲「文本」,但我需要Sharepoint將它們解析爲日期時間。我在TechNet上看過幾個帖子,要求一樣,但沒有回答。在Sharepoint中搜索日期元標籤

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

回答

3

你沒有做錯什麼,這是產品的工作原理。爲了增加前面所說的內容,定製並不容易。

解決此問題的正確方法是爲HTML創建自定義協議處理程序。這是一個實現了一些接口的自定義COM對象。 MOSS 2007 SDK具有協議處理程序參考。

當我們這樣做時,我們創建了一個ini文件,所以我們可以將我們想要的META字段類型定義爲(String,Int,DateTime)。然後,當您添加自定義屬性時,所有內容都被正確解析。然後,您可以像使用通常一樣使用自定義屬性。

+0

您也可以只包裝HTML IFilter,它負責提取屬性並將它們發送到下游。 – 2009-07-10 11:13:23

1

內置搜索的網絡爬蟲是最基本的,你將不能夠輕鬆地擴展到包括meta標籤。據稱,您可以編寫自己的協議處理程序,並在自己的內容源中抓取ASP頁面;據稱這是有效的。儘管如此,我認爲任何人都不會寫自己的協議處理程序。

您會對SharePoint爬行程序提供的內容感到失望,這就是爲什麼在官方論壇上沒有答案 - 因爲真正的答案是「無法輕鬆完成,很抱歉。」

您可以通過編寫自己抓取ASP頁面元標記的自定義Web服務(ASMX或基於WCF的)來破解一些東西。從那裏,您可以將Web服務結果提取到可搜索的BDC中,然後在搜索結果/ BDC數據中可以鏈接到原始頁面。我知道它就像一個Rube Goldberg設備,但是當我說要比編寫協議處理程序更容易時,請相信我。

+0

實際上,抓取工具確實找到了元標記,就像我在我的問題中所說的那樣。問題是它確實支持值類型的映射/轉換。 – noocyte 2008-10-03 21:03:23