拼写容错计算

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

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

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

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

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

    拼写容错对 typo 排序规则的影响

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

    typo 排序规则的存在与否不会影响拼写容错设置。但是,**禁用拼写容错设置实际上也会禁用 typo 排序规则。** 这是因为所有返回的文档都将包含 0 个拼写错误。

    总结