容錯計算

    容錯功能可幫助使用者即使在搜尋查詢中包含拼寫錯誤或錯字時,也能找到相關的結果,例如,輸入 phnoe 而不是 phone。您可以針對每個索引設定容錯功能

    Meilisearch 使用前綴Levenshtein 演算法來判斷文件中某個詞是否可能是查詢詞的匹配項。

    上面引用的錯字數量大致相當於 Levenshtein 距離。兩個詞 MP 之間的 Levenshtein 距離可以看作是透過對 M 執行以下基本運算,將 M 轉換為 P 的「最小成本」:

    預設情況下,Meilisearch 使用以下規則來匹配文件。請注意,這些規則是針對詞,而不是針對整個查詢字串。

    這表示長度為 7 個字元的 saturday,會使用第二個規則,並比對每個包含一個錯字的文件。例如

    容錯對 typo 排名規則的影響

    typo 排名規則會依據匹配查詢詞的錯字數量遞增來排序搜尋結果。錯字為 0 的文件排名最高,其次是錯字為 1 的文件,然後是錯字為 2 的文件。

    typo 排名規則的存在與否不會影響容錯設定。但是,停用容錯設定也會有效地停用 typo 排名規則。這是因為所有返回的文件都會包含 0 個錯字。

    總結