同義字是一種查詢擴充搜尋功能。它能讓使用者在搜尋查詢中僅鍵入某字詞,便可以連帶搜尋其相關字。例如,使用者可以只搜尋「run」,便可以連帶得到含「run」或「jog」(如果同義字檔案中定義這 2 個字為相關的話) 的搜尋結果。同義字也能讓伺服器陣列管理員指定字的加權值來影響搜尋範圍。Microsoft SharePoint Portal Server 提供下列語言的同義字檔案:
同義字檔案包含非使用中 (設定為註解) 的範例內容。若查詢語言沒有相關聯的同義字檔案時,則查詢會套用中性同義字檔案 (tsneu.xml)。查詢除了套用查詢語言的相關同義字檔案之外,也會一律套用中性同義字檔案。
SharePoint Portal Server 預設會將同義字檔案儲存在下列的伺服器目錄中: local_drive\Program Files\SharePoint Portal Server\DATA\Config。如果您在安裝伺服器時將資料檔案安裝在其他位置,則資料目錄會在該位置中。
同義字檔案也會複製到 local_drive\Program Files\SharePoint Portal Server\Data\Applications\Application UID\Config 中,以供 Microsoft Search 服務 (MSSEARCH) 或 Microsoft SharePointPS Search 服務 (SharePointPSSearch) 的每個特定例項使用。您可以在應用程式階層 (而非伺服器或伺服器陣列階層) 修改同義字。例如,如果 SharePoint Portal Server 及 Microsoft SQL Server 安裝在同一部伺服器上,兩者便可以有不同的同義字檔案。
重要事項 系統中有個檔案稱作 tsschema.xml,請勿修改這個檔案。
若要編輯同義字,請在文字編輯器中編輯 XML 檔。檔案的 XML 格式必須正確 (每個項目前後要有對稱的開始及結束標籤),才能被完整地載入。如果 XML 的格式錯誤,SharePoint Portal Server 會在參照該檔案及程式碼行的 Microsoft Windows Server 2003 事件記錄中記錄錯誤。
附註 請勿變更 XML 檔中的標籤大小寫。只有 XML 標籤是大寫,其他標籤是小寫。例如,<replacement> 標籤必須保留小寫。
同義字檔案中有下列幾種同義字項目:
取代集是查詢時要被替代的詞組結構。例如,您可以新增一個取代集,其詞組結構為「W2K」,替代詞組為「Windows 2000」。如果使用者查詢「W2K」,SharePoint Portal Server 只傳回包含「Windows 2000」的搜尋結果。它不會傳回包含「W2K」的結果。
每個取代集的前後都會加上 <replacement> 標籤。若要在取代標籤中指定一或多個詞組結構,請在其前後加上 <pat> 標籤。若要指定一或多個替代詞組,請在其前後加上 <subt> 標籤。詞組結構及替代詞組可以包含單字或一串字。以上述範例而言,您可以新增下列幾行:
<replacement>
<pat>W2K</pat>
<sub>Windows 2000</sub>
</replacement>
每種詞組結構可以有多個替代詞組。
根據預設,詞組結構會區分大小寫。例如,如果同義字檔案包含前行資料項目,當使用者搜尋「w2k」時,SharePoint Portal Server 未必會傳回包含「Windows 2000」的搜尋結果。由於文字的大小寫不同,因此 SharePoint Portal Server 無法將「w2k」辨識為「W2k」。
您可以在您所用語言的同義字檔案中新增標籤,指定詞組結構是否區分大小寫。例如,如果指定詞組結構不區分大小寫,由於不考慮查詢字詞的大小寫,<pat> 及 <sub> 字詞就會符合查詢字詞。如需在同義字檔案中新增大小寫標籤的詳細資訊,請參閱這一節後面的<編輯同義字檔案>。
使用同義字 CONTAINS FORMSOF 進行查詢的方式如前所述。如需 CONTAINS FORMSOF 語法的詳細資訊,請參閱 Microsoft SharePoint Products and Technologies 2003 Software Development Kit。
根據預設,入口網站會使用 FREETEXT 查詢類型。FREETEXT 查詢會自動啟動同義字,但如果您在搜尋字詞前後加上雙引號,則 SharePoint Portal Server 會停用 FREETEXT 查詢,並且不搜尋同義字。因此,SharePoint Portal Server 會傳回符合雙引號中一或多個確切搜尋字詞的搜尋結果。如果同義字將詞組的某個字取代成另一個字,FREETEXT 查詢會傳回整個新詞組的搜尋結果。
下表顯示上述取代集在入口網站的搜尋介面中不同查詢內容的結果。這個範例假設同義字已設定為區分大小寫,但是搜尋時不區分大小寫。
使用者輸入的查詢內容 | 查閱同義字 | 搜尋結果包括的文件包含 |
w2k | 是 (FREETEXT 查詢) | W2k 或 W2K 或 w2k 或 w2K 同義字中的詞組結構是大寫 W2K,因此沒有傳回符合 Windows 2000 的結果。 |
"w2k" | 否 | w2k 或 W2K 或 W2k 或 w2K |
W2K | 是 (FREETEXT 查詢) | Windows 2000 或 windows 2000 或大小寫的組合 (例如 wInDows 2000) 或 w2k 或 W2k 或 w2K 沒有傳回符合 W2K 的結果。 |
"W2K" | 否 | W2K 或 w2k 或 W2k 或 w2K |
W2K Server | 是 (FREETEXT 查詢) | Windows 2000 (及如前所顯示的大小寫組合) 或 Server (及大小寫組合,例如 server 或 SeRvEr) 或 W2K Server (及大小寫組合) 沒有傳回符合 W2K operating system 的結果。 |
"W2K Server" | 否 | W2K Server 或 w2k Server 或 W2k Server 或 w2K Server 或 W2K server 或 w2k server 或 W2k server 或 w2K server |
附註 前述每個範例搜尋時的區分大小寫設定都為 False,否則進行詞組結構對時,所有的區分大小寫會變得十分驚人。
比對 2 個詞組結構相似的取代集時,會先處理其中詞組字數較多的。例如,若有下列 2 個取代集,則會先處理「Internet Explorer」,後處理「Internet」:
<replacement>
<pat>Internet</pat>
<sub>intranet</sub>
</replacement>
及
<replacement>
<pat>Internet Explorer</pat>
<sub>IE</sub>
<sub>IE 5</sub>
</replacement>
下表顯示上述取代集在入口網站的搜尋介面中不同查詢內容的結果。
使用者輸入的查詢內容 | 查閱同義字 | 搜尋結果包括的文件包含 |
Internet | 是 (FREETEXT 查詢) | Intranet 或 intranet 或大小寫組合 (例如 iNtranEt) 沒有傳回符合 IE 或 IE 5 的結果。 |
Internet Explorer | 是 (FREETEXT 查詢) | IE 或 IE 5 (及大小寫組合,例如 iE 或 Ie 5) 沒有傳回符合 Internet 或 Internet Explorer 或 intranet 的結果。 |
擴充集是互為同義字的替代詞組群組。若查詢中包含某個相符替代詞組,便會連帶包括擴充集中的所有其他替代詞組。例如,您可以新增一個擴充集,其中定義「writer」、「author」及「journalist」(替代詞組) 為同義字。當您查詢「author」時,SharePoint Portal Server 傳回的搜尋結果也包含「writer」或「journalist」。
每個擴充集前後都會加上 <expansion> 標籤。若要在擴充標籤中指定一或多個替代詞組,請在其前後加上 <sub> 標籤。以上述範例而言,您可以新增下列幾行:
<expansion>
<sub>writer</sub>
<sub>author</sub>
<sub>journalist</sub>
</expansion>
您也可以設定下列 2 個選項:
替代詞組項目支援加權。加權能加重替代詞組集裡某些字的比值,使這些字詞在搜尋結果中的排名較高。有效值介於 0 與 1 之間。例如,您可以加權下列替代詞組,如下所示:
<expansion>
<sub weight="0.8">Internet Explorer</sub>
<sub weight="0.2">IE</sub>
<sub weight="0.9">IE5</sub>
</expansion>
您可以指定詞組結構及替代詞組中的字幹。字幹會以語言字幹對應至所有比對字。例如,英文字幹「buy」與「bought」、「buying」及「buys」相符。
您可以在字串結尾加上「**」來指定字幹。指定字幹後,SharePoint Portal Server 會傳回符合您輸入字詞的各種變化項。
例如,您查詢「run」時,傳回的項目中也會連帶包含「running」、「job」及「jogging」。您應該將擴充集修改成:
<expansion>
<sub weight="0.5">run**</sub>
<sub weight="0.5">jog**</sub>
</expansion>
查詢「run」或「running」時,搜尋結果是「jog」及「jogging」等。查詢「running」時,搜尋結果也與「run」的搜尋結果相同。
如果同義字檔案中包括詞組結構 <pat> Stefan ran to the store** </pat>
或替代詞組 <sub> Stefan ran to the store**</sub>
,查詢作業則會傳回下列字串,或搜尋作業會將它們加入查詢中:
<!--設定為註解
-->
<case caseflag="false"></case>
如果日後又想讓詞組結構區分大小寫,請將標籤中的 false 變更為 true,如下所示: <case caseflag="true"></case>
附註 您在同義字檔案中新增的項目,不能只包含特別字元或為虛詞,但是項目可以空白。例如,若要確定查詢特定字 (例如 windows) 時不會傳回結果,則您應該有下列項目:
<replacement>
<pat>windows</pat>
<sub></sub>
</replacement>