SharePoint search 功能的定製開發

2022-02-05 11:24:50 字數 2738 閱讀 5570

概要

客戶要求改善 sharepoint 2007的搜尋功能,我們要自定義開發搜尋功能,一翻調查和研究,sharepoint 的搜尋用到keywordsearchquery和fulltextsearchquery 兩種方式,因為我們要用到自定義的sharepoint list欄位做為過慮條件,所以採用fulltextsearchquery 來開發。

設計fulltextsearchquery 做sharepoint 2007二次開發要用到以下元件:

using microsoft.office.server;

using microsoft.office.server.search;

using microsoft.office.server.search.query;

在sharepoint 2007中,我們如下scope():

預設的有people和all sites兩個scope。我們以all sites舉例。

sharepoint content sources 在爬蟲時的流程圖(方便理解scope()內容的**)

以下是查詢的流程圖:

使用者使用查詢時,sharepoint對於使用者的安全檢查:

以上說明僅供讀者了解sharepoint查詢時要做的工作.

microsoft.sharepoint.search.query命名空間包括三個查詢類:

為自定義搜尋應用程式選擇查詢類

若要確定用於自定義搜尋應用程式(fulltextsqlquerykeywordquery)的適當的類,請考慮希望應用程式**支援的搜尋查詢中的複雜級別。

下面的列表標識僅受使用fulltextsqlquery類的 sql 搜尋語法支援的附加查詢元素:freetext、contains、like和order by.

**設計

public class sharepointsearch

' and freetext(defaultproperties, '') ";

string conditionsearchsource = " and contains(path,'')";

#endregion

#region constructor

/// /// default constructor.

///

public sharepointsearch()

#endregion

#region public methods

/// ///

///

///

///

///

///

///

public datatable getsearchresultbykeyword(string scope, string searchsource, string keyword, int rowlimit)

/// ///

///

///

///

///

public datatable getsearchresultbyquery(string query, int rowlimit)

#endregion

#region private methods

/// /// excute search query

///

///

///

///

private datatable customsearch(string query, int rowlimit)

return result;

}#endregion

}

而為什麼fulltextsqlquery 的屬性是這樣設定的,因為能過moss工具產生的xml結果圖如下:

<?xml version="1.0" encoding="utf-8" ?>

urn:microsoft.search.response.document.document 1

20 false

true

true

false

true

false

false

如果sharepoint裡item內容語言是en-us的話,一定要在ie瀏覽器裡設定:

把english[en]放到最上面。

出處:

適配Fastboot刷機方案 ROM定製開發教程

根據miflash方案適配 fastboot 刷機方案即可。建立flsh all.bat刷機指令碼 根據不同分割槽來寫,主要分割槽如下 fastboot flash boot dp0 images boot.img echo flash boot error exit b 1 fastboot fl...

Windows開發功能小集!UDP TCP開發步驟

設定置頂 setwindowpos wndtopmost,0,0,0,0,swp nomove swp nosize 取消置頂 setwindowpos wndnotopmost,0,0,0,0,swp nomove swp nosize windows環境下tcp udp程式設計步驟 1.基於tc...

參考微信自定製相簿功能

需要選擇單張,可以直接呼叫imagepickerviewcontroller 但是往往我們需要同時上傳很多張 我們公司的系統要求是ios8.0以上都支援,所以就基於 assetslibrary自己做了乙個 先氣看 麻煩可以直接看我github上的demo,編碼辛苦,覺得有用還望給個star以作鼓勵 ...