拼写容错计算

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

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

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

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

    这意味着 saturday 的长度为 7 个字符,使用第二条规则,并匹配每个包含一个拼写错误的文档。例如

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

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

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

    总结一下