使用觸發程序和查詢範本 (Office SharePoint Server)
如果特定網站不是由 Microsoft Office SharePoint Server 2007 直接進行編目,則可以將它新增為同盟位置,並為搜尋中心網站使用者併入它的搜尋結果。當您新增同盟位置時,必須指定用於同盟位置之查詢 URL 的查詢範本。您也可以選擇性地指定一或多個查詢條件約束 (稱為觸發程序),來限制要傳遞至同盟位置的查詢。
在本主題中,您將深入瞭解指定觸發程序以及如何建構同盟位置的查詢範本。
觸發程序
觸發程序是在傳遞查詢時決定的查詢條件約束。當您建立同盟位置時,可以指定將查詢傳遞給該同盟位置時決定的觸發程序。只有符合指定給位置定義中觸發程序之模式的查詢,才會轉遞至同盟位置。
觸發程序的類型有兩種:
字首
查詢的字首必須加上指定為觸發程序的確切詞彙。例如,如果 "weather" 指定為字首觸發程序,則在查詢 "weather New York, NY" 中,會捨棄字首,而只轉遞 "New York, NY"。
注意
只會轉遞接在字首後面的查詢部分;在 "weather New York, NY" 範例中,只會將 "New York, NY" 轉遞給同盟位置。
Regex
查詢必須符合指定的規則運算式模式。如需建立規則運算式的詳細資訊,請參閱.NET Framework 規則運算式 (https://go.microsoft.com/fwlink/?linkid=117945&clcid=0x404)。
查詢範本
查詢範本包含同盟位置的參數化 URL,而且會將搜尋查詢傳遞給此 URL。參數化 URL 必須傳回結構化 XML 結果 (例如,RSS 或 Atom 結果)。
Office SharePoint Server 2007 可支援兩種同盟位置的類型:
此伺服器上的搜尋索引
此伺服器同盟位置類型上之搜尋索引的查詢範本應該包含如下指定的 searchTerms 參數:
{searchTerms}
它還應該包含其他任何查詢限制 (如搜尋來自特定作者的內容),如下列範例所示:
Author:"{searchTerms}"
此同盟位置類型的查詢範本不應該包含搜尋結果 URL。
OpenSearch
支援 OpenSearch 標準的任何網際網路網站
查詢範本相當於OpenSearch 規格 (英文) (https://go.microsoft.com/fwlink/?linkid=111090&clcid=0x404) 中的 URL 範本。語法的基礎是URL 範本語法 (英文) (https://go.microsoft.com/fwlink/?linkid=100718&clcid=0x404) 。下列是內含參數化 URL 以連線至即時搜尋服務之位置查詢範本的簡單範例:http://search.live.com/results.aspx?q={searchTerms}&format=rss
在此範例中,查詢範本包含 OpenSearch 範本參數 searchTerms。searchTerms 參數是轉送給同盟位置之搜尋文字的預留位置。您可以在查詢範本中指定其他參數。如需這些參數的詳細資訊,請參閱<OpenSearch 規格>中的OpenSearch 1.1 參數 (英文) (https://go.microsoft.com/fwlink/?linkid=100720&clcid=0x404) 一節。
在參數名稱後面包含問號字元 (?),就可以指出參數是否為選用的。在下列範例中,searchTerms 是必要參數,但 startIndex 不是必要參數:http://search.live.com/results.aspx?q={searchTerms}&format=rss&first={startIndex?}
注意
您在 URL 範本中指定的參數必須是 URL 編碼。在前一個範例中,此字元 ("&") 的 URL 編碼會取代 & 字元。