错别字容忍度计算

    即使搜索查询包含拼写错误或错别字,错别字容忍度也能帮助用户找到相关结果,例如,输入 phnoe 而不是 phone。您可以为每个索引配置错别字容忍度功能

    Meilisearch 使用前缀莱文斯坦算法来确定文档中的单词是否可能与查询词匹配。

    上面引用的错别字数量大致等同于莱文斯坦距离。两个单词 MP 之间的莱文斯坦距离可以认为是“通过对 M 执行以下基本操作将 M 转换为 P 的最小成本”:

    默认情况下,Meilisearch 使用以下规则来匹配文档。请注意,这些规则是按单词而不是针对整个查询字符串的。

    这意味着长度为 7 个字符的 saturday,将使用第二条规则,并匹配包含 一个错别字 的所有文档。例如:

    错别字容错对 typo 排名规则的影响

    typo 排名规则 按匹配查询词的错别字数量递增的顺序对搜索结果进行排序。错别字为 0 的文档排名最高,其次是错别字为 1 的文档,最后是错别字为 2 的文档。

    typo 排名规则的存在与否对错别字容错设置没有影响。但是,禁用错别字容错设置实际上也会禁用 typo 排名规则。 这是因为所有返回的文档都将包含 0 个错别字。

    总结一下