SharePoint 2013 對二進制大型對象(BLOB)進行爬網

  本文是參考MSDN文檔作的示例,SharePoint 2013搜索二進制對象(BLOB),經過外部內容類型的方式將外部數據與SharePoint相關聯,修改BCD模型,使SharePoint可以爬網外部數據中的文件流。數據庫

  步驟,首先就是使用SPD建立外部內容類型,併爲外部內容類型添加各類操做;而後,將BCD模型導出,添加方法後從新導入;最後,配置爬網,對外部內容類型進行爬網。測試

一、首先,用Designer 2013打開站點,點擊左上角按鈕,建立外部內容類型;spa

clip_image001

二、輸入外部內容類型的名稱,點擊「單擊此處發現外部數據並定義操做」;設計

clip_image002

三、在外部內容類型的操做設計器中,點擊添加鏈接;3d

clip_image003

四、然後的外部數據源類型選擇SQL Server;日誌

clip_image004

五、再而後填寫SQL Server鏈接的相關屬性,以下圖添加,便可:code

clip_image005

六、以下圖,添加鏈接之後,會顯示數據庫相關表和視圖,下面,咱們建立全部操做;對象

clip_image006

七、以下圖,能夠看到建立、讀取項、更新、刪除、讀取列表等操做,固然,某些狀況,咱們也會一一建立,這裏爲了省事兒,我一塊兒建立;blog

clip_image007

八、能夠看到咱們數據源的元素,咱們所有顯示出來,而且ID是主鍵,點擊下一步;ip

clip_image008

九、進入篩選器參數配置,以下圖,咱們點擊添加篩選器參數,參見步驟10:

clip_image009

十、以下圖,添加篩選器後,選中,點擊右側的「單擊以添加」,彈出「篩選器配置」對話框,選中限制,點擊肯定,然後在右側默認值選中1000;

clip_image010

  特:要說明的是,這個限制是防止返回大量數據的,若是限制了1000,數據量超過1000後會報錯,須要修改這個設置;

十一、建立完畢後,點擊完成,查看下圖:能夠看到外部內容類型的操做和字段;

clip_image011

十二、建立完畢後,選中導出BCD模型,以下圖,點擊肯定,選中路徑,保存便可;

clip_image012

1三、使用VS打開導出的BCD模型,方便編輯;

clip_image013

  特別:若是你對於BCD模型不是很熟悉,建議先看看文章後面附的MSDN連接,多理解下每一個節點,大體有什麼意思。哪裏是屬性,哪裏是變量聲明,哪裏是方法,這樣對於配置起來,會事半功倍的。

1四、修改導出的BCD模型,添加新的方法,用來爬網BLOB;

clip_image014

1五、修改完成後,進入管理中心,刪除現有的BCD模型,導入咱們修改之後的,以下圖:

clip_image015

1六、進入搜索應用程序,添加內容源,並對內容源進行徹底爬網;

clip_image016

1七、查看爬網日誌;

clip_image017

  詳細日誌

clip_image018

1八、測試搜索程序;

clip_image019

  如博客介紹,SharePoint 2013搜索BLOB,若是能夠行程解決方案,對搜索SharePoint系統外數據庫中的文件,會有很大的幫助,本文參考MSDN文檔,若有任何問題,能夠參照附錄的文檔查看。

  好了,就這樣吧,好歹搞一搞,就又該睡覺了,還好今天還算有收穫,你們晚安~~

修改BCD模型添加的方法的Xml

<Method Name="GetData">

<Properties>

<Property Name="RdbCommandText" Type="System.String">SELECT FileDate FROM T_BlobDate where ID=@ID</Property>

<Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>

</Properties>

<Parameters>

<Parameter Direction="In" Name="@ID">

<TypeDescriptor TypeName="System.Int32" IdentifierName="ID" Name="ID" />

</Parameter>

<Parameter Name="StreamData" Direction="Return">

<TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="StreamData">

<TypeDescriptors>

<TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="StreamData Element">

<TypeDescriptors>

<TypeDescriptor TypeName="System.Byte[]" Name="FileDate" />

</TypeDescriptors>

</TypeDescriptor>

</TypeDescriptors>

</TypeDescriptor>

</Parameter>

</Parameters>

<MethodInstances>

<MethodInstance Name="FileDate" ReturnParameterName="StreamData" Type="StreamAccessor" ReturnTypeDescriptorPath="StreamData[0].FileDate" Default="true">

<Properties>

<Property Name="MimeTypeField" Type="System.String">ContentType</Property>

<Property Name="FileNameField" Type="System.String">DisplayName</Property>

</Properties>

</MethodInstance>

</MethodInstances>

</Method>

外部內容類型的數據庫庫結構

clip_image020

參考連接

如何:基於 SQL Server 表建立外部內容類型

http://msdn.microsoft.com/zh-cn/library/office/ee557243.aspx

如何:在 SharePoint 中建立外部列表

http://msdn.microsoft.com/zh-cn/library/office/ee558778.aspx

如何:在 SharePoint 2013 中對二進制大型對象 (BLOB) 進行爬網

http://msdn.microsoft.com/zh-cn/library/office/gg294168.aspx

XML Snippet: Modeling a StreamAccessor Method

http://msdn.microsoft.com/en-us/library/ff464410.aspx

相關文章
相關標籤/搜索