斷詞
斷詞(Tokenization)是指將句子或詞組拆分成更小的語言單位,稱為詞元(tokens)的動作。它是 Meilisearch 引擎中文件索引的第一步,也是影響搜尋結果品質的關鍵因素。
將句子分解成更小的區塊需要理解一個單字在哪裡結束以及另一個單字在哪裡開始,這使得斷詞成為一項高度複雜且與語言相關的任務。Meilisearch 對此問題的解決方案是採用一個模組化斷詞器,它根據偵測到的語言遵循不同的處理流程,稱為管線(pipelines)。
這使得 Meilisearch 能夠在多種不同語言中運作,而無需進行任何設定。
深入探討:Meilisearch 斷詞器
當您將文件新增到 Meilisearch 索引時,斷詞過程由一個稱為斷詞器的抽象介面處理。斷詞器負責依據書寫系統(例如,拉丁字母、漢字)拆分每個欄位。然後,它會將對應的管線應用於每個文件欄位的每個部分。
我們可以將斷詞過程分解如下:
- 爬取文件,並依據文字類型拆分每個欄位
- 逐部分回頭處理文件,如果存在,則執行相應的斷詞管線
管線包括許多特定於語言的操作。目前,我們有許多管線,包括一個用於使用空白字元分隔單字的語言的預設管線,以及用於中文、日語、希伯來語、泰語和高棉語的專用管線。
如需更多詳細資訊,請參閱斷詞器貢獻指南。