建立自訂字典 (Search Server 2010)

 

適用版本: Search Server 2010

上次修改主題的時間: 2015-03-09

注意

本文資訊適用於 Microsoft Search Server 2010 與 Microsoft Search Server 2010 Express。

自訂字典是一種由管理員建立的檔案,主要是用來指定在索引或查詢時,特定語言的斷詞工具應視為不可分割的 Token。自訂字典檔案不會隨附於產品中。您必須為想要修改之斷詞工具行為的每個語言建立個別的自訂字典。

注意

特定語言的自訂字典可套用於伺服器陣列中的所有 Search Service 應用程式。

本文內容:

  • 使用自訂字典的原因

  • 建立自訂字典的規則

  • 建立自訂字典

  • 複製自訂字典至每部應用程式伺服器

  • 停止並重新啟動 SharePoint Server Search 14 服務

  • 執行完整編目

  • 支援的語言

使用自訂字典的原因

您應先了解斷詞工具的行為,才能了解是否必須使用自訂字典及當中應含有哪些項目。索引系統在索引編目的內容時會使用斷詞工具來中斷 Token,且查詢處理器會在查詢中使用斷詞工具。在上述每種情況中,若支援所用的語言及斷詞工具方言具備自訂字典,那麼搜尋引擎就會先在自訂字典中檢查字詞,然後才決定是否要用該字詞的斷詞工具。若該字詞不存在於自訂字典中,斷詞工具就會執行一般的動作,而這可能會將一個 Token 切成好幾個 Token。若該 Token 存在於自訂字典中,斷詞工具就不會對該 Token 執行任何動作。下列兩個範例會說明典型的斷詞工具行為,及自訂字典中的項目會如何影響這種行為。

  • 斷詞工具可能會將 “IT&T” Token 在 "&" 符號 (&) 前後切斷,而變成 “IT”、“&” 及 “T” 三個 Token。不過,若 “IT&T” Token 存在於所用之斷詞工具相同語言的自訂字典中,斷詞工具就不會在編目或查詢時切斷該 Token。若 “IT&T” 有在自訂字典中,而文件不含 "IT" 或 "T" 但含有 "IT&T",那麼查詢含有 "IT" 或 "T" 但不含 "IT&T" 的結果集中,就不會傳回該文件。

  • 化學摘要服務 (CAS) 登錄號碼這類字詞可能會受到斷詞工具的影響。例如,斷詞工具通常會將出現在連字號前後的數字或數字的其他特定字元切斷。假設氧的 CAS 登錄號碼為 7782-44-7。斷詞工具處理過後,這個 CAS 登錄號碼就會被切成三個部分:7782、44 和 7。若您將 CAS 登錄號碼整組新增至自訂字典中,搜尋系統就會索引每個號碼,而不會把號碼切斷。

正規化及同義字檔案

具名實體正規化 (如日期正規化) 在正常情況下會由斷詞工具來套用,而不會套用至自訂字典中的字詞。不過,自訂字典中的所有字詞都會被視為符合。若您的同義字檔案中有文字或數字,這就顯得格外重要。例如,若 CAS 登錄號碼 7782-44-7 是同義字檔案中擴充集的一部分,且斷詞工具將該數字從連字號來切割成三組分開的數字,則該數字所屬的擴充集可能就無法如預期般運作。在這種情況下,將 CAS 登錄號碼 7782-44-7 新增至適當語言的自訂字典,即可解決問題。如需如何使用同義字檔案的詳細資訊,請參閱<管理同義字檔案 (Search Server 2010)>。

建立自訂字典的規則

自訂字典是一種 Unicode 格式的檔案。每個項目都必須由換行字元 (CR)、換列字元 (LF) 將其各自分列一行。當您新增項目至自訂字典時,請考慮下列規則以避免非預期的結果:

  • 項目不區分大小寫。

  • 不可使用縱線字元 (|)。

  • 不可使用空格。

  • 不可在項目開頭使用數字符號字元 (#),但可在項目當中或結尾處使用。

  • 除了上述所提的縱線字元、數字符號和空格外,其他的英數字元、標點、符號和換行字元都是有效的。

  • 項目的長度上限為 128 (Unicode) 個字元。

下表顯示支援及不支援項目的範例。

表格 1 – 自訂字典檔案的支援及不支援項目範例

支援 不支援

dogfood

dog food

3#

#3

For#sale

For|sale

ASP.NET

IT&T

(2-Methoxymethylethoxy)propanol

34590-97-8

C7H1603

自訂字典中關於數字項目沒有固定的限制,不過,建議您自訂字典檔案的總檔案大小不要超過 2 GB。實際執行時,也建議您將數字項目限制在幾千個以內。

建立自訂字典

使用下列程序建立自訂字典。

建立自訂字典

  1. 確認執行此程序的使用者帳戶為本機電腦的管理員群組成員。

  2. 登入編目伺服器。

  3. 在文字編輯器中,開啟新檔案。

    請按照本文稍早建立自訂字典的規則中所述的規則,輸入您想列在自訂字典中的文字。

  4. 在 [檔案] 功能表上按一下 [另存新檔]。

  5. 在 [檔案類型] 清單中,選取 [所有檔案]。

  6. 在 [編碼] 清單中,選取 [Unicode]。

  7. 在 [檔案名稱] 方塊中,以下列格式輸入檔案名稱:CustomNNNN.lex,其中 “Custom” 是文字字串,NNNN 是您建立之自訂字典語言的四位數十六進位碼,lex 則是副檔名。如需支援語言及方言的有效檔案名稱清單,請參閱本文稍後的支援的語言。

  8. 在 [儲存位置] 清單中,瀏覽至含有斷詞工具的資料夾。根據預設,此資料夾為 %ProgramFiles%\Microsoft Office Servers\14.0\Bin。

    注意

    您必須將自訂字典檔案儲存在本機檔案系統的此資料夾,才可以使用此檔案。如果儲存在 SharePoint 網站等其他位置,則無法使用。

  9. 按一下 [儲存]。

  10. 若伺服器陣列中不含其他編目伺服器或查詢伺服器,請前往停止並重新啟動 SharePoint Server Search 14 服務。否則,請進入下一個步驟「複製自訂字典至伺服器陣列中的每部應用程式伺服器」。

複製自訂字典至每部應用程式伺服器

伺服器陣列中的每部應用程式伺服器上都必須有自訂字典的複本。

複製自訂字典至每個應用程式

  1. 確認執行此程序的使用者帳戶為伺服器陣列中每部應用程式伺服器 (也就是每部編目伺服器或查詢伺服器) 管理員群組的成員。

  2. 請在伺服器陣列中的每部應用程式伺服器上,將新的自訂字典檔案複製到含有斷詞工具的資料夾中。根據預設,此資料夾為 %ProgramFiles%\Microsoft Office Servers\14.0\Bin。

    注意

    您必須將自訂字典檔案儲存在本機檔案系統的此資料夾,才可以使用此檔案。如果儲存在 SharePoint 網站等其他位置,則無法使用。

停止並重新啟動每部應用程式伺服器上的 SharePoint Server Search 14 服務

您必須重新啟動伺服器陣列中每部應用程式伺服器上的 SharePoint Server Search 14 服務。

重要

請勿使用管理中心的 [伺服器上的服務] 頁面來停止及啟動服務,因為這麼做會移除服務並刪除索引與相關聯的設定。請改為執行下列步驟:

停止並重新啟動每部應用程式伺服器上的 SharePoint Server Search 14 服務

  1. 確認執行此程序的使用者帳戶為本機電腦的管理員群組成員。

  2. 按一下 [開始] 功能表,依序指向 [所有程式] 與 [系統管理工具],然後按一下 [服務]。

  3. 以滑鼠右鍵按一下 [SharePoint Server Search 14] 服務然後再按一下 [內容]。[內容] 對話方塊會隨即出現。

  4. 按一下 [停止]。在服務停止後,按一下 [開始]。

  5. 請確認 [啟動類型] 不是設定為 [停用]。

  6. 請針對伺服器陣列中每部應用程式伺服器 (也就是每部編目伺服器及查詢伺服器) 重複此步驟。

執行完整編目

若要將自訂字典套用至內容索引,您必須對含有新增至自訂字典之 Token 的內容執行完整編目。如需執行完整編目的詳細資訊,請參閱<管理編目 (Search Server 2010)>。

支援的語言

下表列出 Search Server 2010 支援的自訂字典語言及方言。您無法為非語言相關的斷詞工具建立自訂字典。本表包括每個支援語言及方言的語言識別碼 (LCID) 及語言十六進位碼。十六進位碼的前兩個數字代表方言,而最後兩個數字代表語言。若某語言的個別方言不具備不同斷詞工具,則語言十六進位碼的前兩個數字一律為零。

表格 2 - 支援的語言

語言 / 方言 LCID 語言十六進位碼

阿拉伯文

1025

0001

孟加拉文

1093

0045

保加利亞文

1026

0002

卡達隆尼亞文

1027

0003

克羅埃西亞文

1050

001a

丹麥文

1030

0006

荷蘭文

1043

0013

英文

1033

0009

法文

1036

000c

德文

1031

0007

古吉拉特文

1095

0047

希伯來文

1037

000d

印度文

1081

0039

冰島文

1039

000f

印尼文

1057

0021

義大利文

1040

0010

日文

1041

0011

坎那達文

1099

004b

拉脫維亞文

1062

0026

立陶宛文

1063

0027

馬來文

1086

003e

馬來亞拉姆文

1100

004c

馬拉提文

1102

004e

挪威文_巴克摩

1044

0414

葡萄牙文

2070

0816

葡萄牙文_巴西

1046

0416

旁遮普文

1094

0046

羅馬尼亞文

1048

0018

俄文

1049

0019

塞爾維亞文_斯拉夫

3098

0c1a

塞爾維亞文_拉丁

2074

081a

斯洛伐克文

1051

001b

斯洛維尼亞文

1060

0024

西班牙文

3082

000a

瑞典文

1053

001d

坦米爾文

1097

0049

特拉古文

1098

004a

烏克蘭文

1058

0022

烏都文

1056

0020

越南文

1066

002a