要在程式碼中搜尋 SharePoint,做法如下:
##ReadMore##Dim site As New SPSite("http://intra.mcg.com")
Dim qry As New KeywordQuery(site)
qry.QueryText = EditBox1.Text
qry.ResultTypes = ResultType.RelevantResults
'qry.SelectProperties.Add("Path")
'qry.RowLimit = 20
Dim rtc As ResultTableCollection = qry.Execute()
If rtc.Count > 0 Then
Dim rt As ResultTable = rtc(ResultType.RelevantResults)
Dim dt As New DataTable()
dt.Load(rt, LoadOption.OverwriteChanges)
DataGridView1.DataSource = dt
End If
要加入的參考:
- Microsoft.SharePoint.dll
- Microsoft.SharePoint.Search.dll
- Microsoft.Office.Server.dll
- Microsoft.Office.Server.Search.dll
位置: C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\ISAPI
要匯入的空間:
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.Search.Query ' 如果是用 WSS3.0
Imports Microsoft.Office.Server.Search.Query ' 如果是用 MOSS 2007
這是因為 KeywordQuery 這個類別有兩個,一個在 Microsoft.SharePoint.Search.Query 空間下,用來透過 WSS3.0 的 Windows SharePoint Services Search 服務來搜尋 SharePoint 網站的內容;另一個則是在 Microsoft.Office.Server.Search.Query 空間下,用來透過 MOSS 2007 的 Office SharePoint Server Search 服務來搜尋 SharePoint 網站之外的內容 (例如: BDC, 共用資料夾, Exchange 公用資料夾, …)。
這兩個所搜尋出來的東西並不重覆,所以如果要搜尋到全部的東西,就要使用這兩個 KeywordQuery 針對同一組 keyword 做兩次搜尋。
0 意見:
張貼留言