Vital KM
為什麼使用底線的英文檔名搜尋不到?
英文字串搜尋問題說明
KM搜尋功能,若為英文字母加底線(_)分隔,則造成無法找到,而中文檔名沒有此問題。
英文檔名因為斷字處理,搜尋引擎會認為底線(_)左右兩邊是一個英文字(而非兩個字),中文是每個文字分開搜尋,但英文必須是「詞」搜尋,而不能是字母搜尋,其中底線亦會被認為是字母。
搜尋引擎的斷詞方式不同主要與搜尋引擎的 文字斷詞(Tokenization)機制有關。
- 中文搜尋:通常以單一文字為搜尋單位,因此即使沒有空格仍可正常搜尋。
- 英文搜尋:通常以「單字(word)」為單位進行比對。
當英文檔名使用 底線 _ 時,搜尋引擎可能會將底線與前後字元視為同一個詞的一部分,而不是分開的單字,導致部分關鍵字無法被單獨搜尋。
範例說明
(1) 中文-檔案名稱:[知識管理系統建置課程表、分組、日期.doc]
可搜尋到的關鍵字:
- 知識管理
- 分組
- 日期
(2) 英文-檔案名稱:[2010&2011Q1_Fype_Report.txt]
可搜尋到:
- 2010
- 2011Q1_Fype
- 2011*
- 2011Q1*
可能搜尋不到:
- Fype
英文檔名建議的命名方式
1. 使用空格作為分隔字元
2. 建議在英文檔名中使用 空格 分隔單字,而不要使用底線 _。
- 不建議:2011Q1_Fype_Report.txt
- 建議:2011Q1 Fype Report.txt
3. 在系統中加入 Meta 或 Tag,若系統支援 Meta 或 Tag 欄位,建議將重要關鍵字加入其中,以提升搜尋成功率。例如:
- Fype
- Report
- 2011Q1
https://faq.vitalyun.com/TW/Knowledge#97