建立自訂字典
適用於:2013 2019 訂閱版本 Microsoft 365 中的 SharePoint
自訂字典是一種由管理員建立的檔案,主要是用來指定在索引或查詢時,特定語言的斷詞工具應視為不可分割的 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 新增至適當語言的自訂字典,即可解決問題。 如需如何使用同義字檔案的資訊,請參閱 在 SharePoint Server 中建立和部署同義字。
建立自訂字典的規則
自訂字典是一種 Unicode 格式的檔案。 每個項目都必須由換行字元 (CR)、換列字元 (LF) 將其各自分列一行。 當您新增項目至自訂字典時,請考慮下列規則以避免非預期的結果:
項目不區分大小寫。
不可使用縱線字元 (|)。
不可使用空格。
不可在項目開頭使用數字符號字元 (#),但可在項目當中或結尾處使用。
除了上述所提的縱線字元、數字符號和空格外,其他的英數字元、標點、符號和換行字元都是有效的。
項目的長度上限為 128 (Unicode) 個字元。
下表顯示支援及不支援項目的範例。
表格 1 – 自訂字典檔案的支援及不支援項目範例
支援 | 不支援 |
---|---|
dogfood | dog food |
3# | #3 |
For#sale | 銷售| |
ASP.NET | |
IT&T | |
(2-Methoxymethylethoxy) propanol | |
34590-97-8 | |
C7H1603 |
自定義字典中的項目數上限為10,000。 沒有可用來變更此限制的設定。 不過,建議自定義字典檔案的檔案大小總計不超過 2 GB (GB) 。 在實務上,建議您將項目數限制為數千個。
建立自訂字典
使用下列程序建立自訂字典。
建立自訂字典
確認執行此程序的使用者帳戶是本機電腦上 Administrators 群組的成員。
登入編目伺服器。
在文字編輯器中,開啟新檔案。
請按照本文稍早建立自訂字典的規則中所述的規則,輸入您想列在自訂字典中的文字。
在 [檔案] 功能表上按一下 [另存新檔]。
在 [檔案類型] 清單中,選取 [所有檔案]。
在 [編碼] 清單中,選取 [Unicode]。
在 [檔案名稱] 方塊中,以下列格式輸入檔案名稱:CustomNNNN.lex,其中 “Custom” 是文字字串,NNNN 是您建立之自訂字典語言的四位數十六進位碼,lex 則是副檔名。 如需支援語言及方言的有效檔案名稱清單,請參閱本文稍後的支援的語言。
在 [儲存位置] 清單中,瀏覽至含有斷詞工具的資料夾。 根據預設,此資料夾是 %ProgramFiles%\Microsoft Office Servers\14.0\Bin for SharePoint Server 2010、%ProgramFiles%\Microsoft Office Servers\15.0\Bin for SharePoint Server 2013 和 %ProgramFiles%\Microsoft Office Servers\16.0\Bin for SharePoint Server 2016 和 SharePoint Server 2019。
注意事項
您必須將自訂字典檔案儲存在本機檔案系統的此資料夾,才可以使用此檔案。 如果儲存在 SharePoint 網站等其他位置,則無法使用。
按一下儲存。
若伺服器陣列中不含其他編目伺服器或查詢伺服器,請前往停止並重新啟動 SharePoint Server Search 14 服務。 否則,請進入下一個步驟「複製自訂字典至伺服器陣列中的每部應用程式伺服器」。
複製自訂字典至每部應用程式伺服器
伺服器陣列中的每部應用程式伺服器上都必須有自訂字典的複本。
複製自訂字典至每個應用程式
確認執行此程序的使用者帳戶為伺服器陣列中每部應用程式伺服器 (也就是每部編目伺服器或查詢伺服器) 管理員群組的成員。
請在伺服器陣列中的每部應用程式伺服器上,將新的自訂字典檔案複製到含有斷詞工具的資料夾中。 根據預設,此資料夾是 %ProgramFiles%\Microsoft Office Servers\14.0\Bin for SharePoint Server 2010、%ProgramFiles%\Microsoft Office Servers\15.0\Bin for SharePoint Server 2013 和 %ProgramFiles%\Microsoft Office Servers\16.0\Bin for SharePoint Server 2016 和 SharePoint Server 2019。
注意事項
您必須將自訂字典檔案儲存在本機檔案系統的此資料夾,才可以使用此檔案。 如果儲存在 SharePoint 網站等其他位置,則無法使用。
在每個應用程式伺服器上停止並重新啟動 SharePoint Server Search 14/15/16 服務
您必須重新啟動 SharePoint Server 2010) 的 SharePoint Server Search 14 (、SharePoint Server 2013) 的 SharePoint Server Search 15 (或 SharePoint Server Search 16 (for SharePoint Server 2016,以及伺服器數組中每個應用程式伺服器上的 SharePoint Server 2019) 服務。
重要事項
請勿使用管理中心的 [伺服器上的服務] 頁面來停止和啟動服務。 這樣做會移除服務,並刪除索引和相關聯的組態。 請改為遵循下列步驟。
在每個應用程式伺服器上停止並重新啟動 SharePoint Server Search 14/15/16 服務
確認執行此程序的使用者帳戶是本機電腦上 Administrators 群組的成員。
按一下 [開始] 功能表,依序指向 [所有程式] 與 [系統管理工具],然後按一下 [服務]。
以滑鼠右鍵按兩下 SharePoint Server 2010) 的 SharePoint Server Search 14 (、SharePoint Server 2013) 的 SharePoint Server Search 15 (或 SharePoint Server Search 16 (for SharePoint Server 2016 和 SharePoint Server 2019) 服務,然後按下 [屬性]。 [ 屬性] 對話框隨即出現。
按一下 [停止]。 在服務停止後,按一下 [開始]。
請確認 [啟動類型] 不是設定為 [停用]。
請針對伺服器陣列中每部應用程式伺服器 (也就是每部編目伺服器及查詢伺服器) 重複此步驟。
執行完整編目
若要將自訂字典套用至內容索引,您必須對含有新增至自訂字典之 Token 的內容執行完整編目。 如需執行完整編目的資訊,請 參閱管理 SharePoint Server 中的編目。
支援的語言
下表指出 SharePoint 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 |
Malay | 1086 | 003e |
馬來亞拉姆文 | 1100 | 004c |
馬拉提文 | 1102 | 004e |
Norwegian_Bokmaal | 1044 | 0414 |
葡萄牙文 | 2070 | 0816 |
Portuguese_Braz | 1046 | 0416 |
旁遮普語 | 1094 | 0046 |
羅馬尼亞文 | 1048 | 0018 |
俄文 | 1049 | 0019 |
Serbian_Cyrillic | 3098 | 0c1a |
Serbian_Latin | 2074 | 081a |
斯洛伐克文 | 1051 | 001b |
斯洛維尼亞文 | 1060 | 0024 |
西班牙文 | 3082 | 000a |
瑞典文 | 1053 | 001d |
坦米爾文 | 1097 | 0049 |
特拉古文 | 1098 | 004a |
烏克蘭文 | 1058 | 0022 |
烏都文 | 1056 | 0020 |
越南文 | 1066 | 002a |