【Bear-Study-Hard】使用SharePoint Server 2007搜尋物件模型程式設計
摘要:學習如何使用Microsoft Office SharePoint Server 2007 物件模型以程式設計的方式建立搜尋查詢。
適用於:Microsoft Office SharePoint Server 2007
Patrick Tisseghem, U2U
July 2007
簡介
有兩種方式可以以程式設計的方式進行搜尋查詢,一種是直接使用Microsoft Office SharePoint上下文中的物件模型,另一種是通過使用搜尋的Web Service進行遠端呼叫。Office SharePoint Server 2007物件模型提供了一套新的類,你可以使用它們程式設計執行一個搜尋查詢。
程式碼
以下程式碼需要新增Microsoft.Office.Server.Search.dll元件。示例程式碼中使用的主要名稱空間是Microsoft.Office.Server.Search.Query。
構建一個關鍵字查詢字串
使用關鍵字語法構建一個查詢字串是比較簡單的。在構建查詢字串的時候,在想要從查詢結果中排除的關鍵字加上連字元(-)字首;在向要包含在查詢結果中的關鍵字加上加號(+)字首。你也可以新增屬性標準。下面的查詢當執行時返回所有包含”Business”關鍵字並且不是由”Brian”撰寫的文件。
Business -isDocument:0 -author:brianc |
構建一個全文檢索字串
使用SQL語言擴充套件方式的查詢字串允許更強大的搜尋請求,支援全文檢索,控制返回的欄位,而且在條件中可以適用搜尋範圍和屬性。下面是前面查詢例子以全文查詢字串的形式來表示。
SELECT Title, Rank, Write, Url FROM SCOPE() WHERE 'Scope'= 'Marketing Documents' AND FREETEXT('business') AND isDocument 1 0 AND author IS NOT 'Brian'} |
執行一個關鍵字查詢字串
執行關鍵字語法的查詢字串時,需要建立一個KeywordQuery類的物件例項,然後將它提供給伺服器場中的Shared Services Provider(SSP)上下文。可以使用SPSite物件的一個例項來做這件事情。然後,然後給QueryText屬性的查詢字串的執行和指派設定一個或多個屬性。Execute方法返回一個包含查詢結果的ResultTableCollection物件。使用ResultType列舉,可以設定需要返回的結果型別,然後將它們繫結到基於Windows或者ASP.NET的控制元件上。
SPSite site = new SPSite("http://moss.litwareinc.com"); KeywordQuery kwq = new KeywordQuery(site); kwq.QueryText = textBoxKeyword.Text; kwq.ResultTypes = ResultType.RelevantResults; ResultTableCollection results = kwq.Execute(); ResultTable resultTable = results[ResultType.RelevantResults]; |
執行一個全文檢索字串
使用全文檢索方式的查詢字串,它的執行過程與前面的程式碼一樣。但是,現在我們使用的是FullTextSqlQuery類。下面的程式碼示例顯示了另一種提供給SSP上下文構造器的方法。這次,需要新增Microsoft.Office.Server.ServerContext引用來實現這個功能。
ServerContext context = ServerContext.GetContext("SharedServices1"); FullTextSqlQuery qry = new FullTextSqlQuery(context); qry.ResultTypes = ResultType.RelevantResults; qry.EnableStemming = true; qry.TrimDuplicates = true; qry.QueryText = query; ResultTableCollection results = qry.Execute(); ResultTable resultTable = results[ResultType.RelevantResults]; |
閱讀
Microsoft Office SharePoint Portal Server 2003包含一個名為QueryProvider的類,可以程式設計執行搜尋查詢。這個類仍然可以使用,但是現在是否決的。Office SharePoint Server 2007提供了兩個新的類;均繼承自Query基類。
l KeywordQuery構建一個關鍵字語法來執行查詢搜尋。
l FullTextSqlQuery構建全文SQL語法來執行查詢搜所。
兩個的執行過程一樣。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-374803/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python - 物件導向程式設計 - MRO 方法搜尋順序Python物件程式設計
- 安裝 SharePoint Server 2007Server
- 使用 Eloquent 輕鬆搜尋多個模型模型
- SI 2120程式設計影像搜尋綜合程式設計
- 程式設計師的基礎生存技能:搜尋引擎程式設計師
- 最好的程式設計師凡事先上谷歌搜尋程式設計師谷歌
- 搜尋引擎ElasticSearch18_ElasticSearch程式設計操作5Elasticsearch程式設計
- 泛型模板化設計使用-訂單搜尋介面泛型
- 如何使用搜尋技巧來成為一名高效的程式設計師程式設計師
- 無人機叢集自組織搜尋模擬模型設計與實現無人機模型
- 如果搜尋引擎被禁止,你還會程式設計嗎?程式設計
- 程式設計師應該掌握的10個搜尋技巧程式設計師
- SharePoint 2007(MOSS) ,WSS ,Project Server 2007 災難恢復ProjectServer
- 分散式搜尋系統的設計分散式
- 好的搜尋技巧能夠造就好的程式設計師程式設計師
- 程式設計師 SEO 系列:如何找到更多搜尋關鍵詞?程式設計師
- 程式設計也快樂: 兩隻水壺 C程式碼 搜尋版程式設計C程式
- Google推出程式碼搜尋 供程式設計人員學習之用(轉)Go程式設計
- 好程式設計師分享JavaScript之-文件物件模型(DOM)程式設計師JavaScript物件模型
- 搜尋引擎程式碼
- 程式設計師揭祕:淘寶搜尋排名真正規則和技巧程式設計師
- 快速使用Google搜尋Go
- 使用 nuget server 的 API 來實現搜尋安裝 nuget 包ServerAPI
- SharePoint 2013 CSOM 物件模型屬性包物件模型
- 智慧搜尋模型預估框架Augur的建設與實踐模型框架
- elasticsearch演算法之搜尋模型(一)Elasticsearch演算法模型
- Sharepoint 2013搜尋服務配置總結(實戰)
- 10位程式設計師眼中的2007:尋找軟體開發利器程式設計師
- 搜尋引擎原理及使用
- JavaScript物件程式設計JavaScript物件程式設計
- Socket程式設計模型程式設計模型
- 直播系統程式碼,常用搜尋中搜尋歷史,搜尋推薦功能
- 使用Google百度等搜尋引擎的常用搜尋技巧Go
- SharePoint 2010 的企業級搜尋技術文章
- SharePoint 2013 開發——搜尋架構及擴充套件架構套件
- PROG2007程式設計II程式設計
- 程式設計師程式設計能力層次模型程式設計師模型
- 搜尋框帶有搜尋提示點選消失程式碼例項