Spiga

使用 KeywordQuery 進行 SharePoint 搜尋

要在程式碼中搜尋 SharePoint,做法如下:

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
##ReadMore##

要加入的參考:

  • 使用 WSS3.0 (Windows SharePoint Services Search 服務)
    • Microsoft.SharePoint.dll
    • Microsoft.SharePoint.Search.dll
  • 使用 MOSS 2007 (Office SharePoint Server Search 服務)
    • 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 意見: