共用方式為


設定同義字檔案

更新: 2006 年 12 月 12 日

Microsoft SQL Server 2005 隨附之所有同義字檔案的格式如下。

<XML ID="Microsoft Search Thesaurus">

<!--  Commented out
    <thesaurus xmlns="x-schema:tsSchema.xml">
      <diacritics = false/>
        <expansion>
            <sub>Internet Explorer</sub>
            <sub>IE</sub>
            <sub>IE5</sub>
        </expansion>
        <replacement>
            <pat>NT5</pat>
            <pat>W2K</pat>
            <sub>Windows 2000</sub>
        </replacement>
        <expansion>
            <sub>run</sub>
            <sub>jog</sub>
        </expansion>
    </thesaurus>
-->
</XML>

每個同義字檔案都有下列一或多個區段:

  • 展開集
    展開集包含一組同義字。這些同義字在程式碼中是以「替代」標記 (<sub> 和 </sub>) 予以識別。此時會展開包含某個替代項目之相符項目的查詢,以併入展開集中的所有其他替代項目。
  • 取代集
    取代集包含替代集所要取代的文字模式。如需範例,請參閱本主題稍後的「取代集」一節。

此外,同義字檔案也包含 <diacritics = false/> 標記。false 表示展開集和取代集中指定的詞彙不區分腔調字。若要使用區分腔調字的同義字搜尋,請將這個標記變更為 <diacritics = true/>。例如,假設您在全文檢索搜尋查詢中,指定以其他模式取代模式 "café"。如果同義字檔案不區分腔調字,全文檢索搜尋會取代模式 "café" 和 "cafe"。如果同義字檔案區分腔調字,全文檢索搜尋只會取代模式 "café"。請注意,此設定只能在檔案中套用一次,而且會套用至檔案中的所有搜尋模式。不能針對個別模式指定此設定。

ms345186.note(zh-tw,SQL.90).gif重要事項:
當您使用文字編輯器工具編輯同義字檔案時,必須以 Unicode 格式儲存這些檔案,而且必須指定位元組順序標示 (BOM)。

展開集

每個展開集都是用 <expansion> 標記括住。在 expansion 標記內,可指定一或多個用 <sub> 標記括住的替代項目。在展開集中,可指定一組彼此是同義字的替代項目。

例如,您可編輯展開區段,以將 "writer"、"author" 和 "journalist" 替代字視為同義字。此時會展開包含某個替代項目之相符項目的全文檢索搜尋查詢,以併入展開集中的所有其他替代項目。因此,在上個範例中,發出 FORMS OF THESAURUS 或 FREETEXT 查詢以尋找 "author" 這個字時,全文檢索搜尋也會傳回內含 "writer" 和 "journalist" 這些字的搜尋結果。

這是上例之展開集區段的樣子:

 <expansion>
         <sub>writer</sub>
         <sub>author</sub>
         <sub>journalist</sub>
 </expansion>

取代集

每個取代集都是用 <replacement> 標記括住。在每個 replacement 標記內,都可指定一或多個用 <pat> 標記括住的模式。您可以指定一或多個用 <sub> 標記括住的替代項目。您也可以指定要用替代集取代的模式。模式和替代項目都可以包含單字或一串文字。

例如,假設您想要查詢 "W2K" (模式) 以將其取代為 "Windows 2000" 或 "XP" (替代項目)。如果您要執行全文檢索查詢以找出 "W2K",則全文檢索搜尋只會傳回內含 "Windows 2000" 或 "XP" 的搜尋結果。它不會傳回內含 "W2K" 的結果。這是因為 "W2K" 模式已「取代」為 "Windows 2000" 和 "XP" 模式。

這是上例之取代集區段的樣子:

 <replacement>
         <pat>W2K</pat>
         <sub>Windows 2000</sub>
         <sub>XP</sub>
 </replacement>

如果您有兩個相似模式相符的取代集,則這兩個取代集中長度較長之取代集的優先順序較高。例如,如果您執行 FORMS OF THESAURUS 查詢以找出 "Internet Explorer online community" 且具有下列取代集,則 "Internet Explorer" 取代集的優先順序高於 "Internet" 取代集。因此,會將該查詢處理為 "IE online community" 或 "IE 5 online community"。

<replacement>
         <pat>Internet</pat>
         <sub>intranet</sub>
</replacement>

<replacement>
         <pat>Internet Explorer</pat>
         <sub>IE</sub>
         <sub>IE 5</sub>
</replacement>

請參閱

概念

全文檢索搜尋架構
同義字
全文檢索搜尋

其他資源

CONTAINS (Transact-SQL)
FREETEXT (Transact-SQL)
FREETEXTTABLE (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 12 月 12 日

變更的內容:
  • <diacritics_sensitive> 標記的語法更正為 <diacritics = false/>,並更新這個標記的說明。
新增內容:
  • 新增「重要事項」附註,說明同義字檔案必須以 Unicode 格式儲存,而且必須指定位元組順序標示 (BOM)。

2006 年 7 月 17 日

新增內容:
  • 釐清 <diacritics_sensitive> 標記的意義。