Solr拼写检查与模糊搜索

时间:2015-11-01 00:03:09

标签: apache search solr spell-checking fuzzy-search

我不太了解apache solr的拼写检查与模糊搜索功能之间的区别。

据我所知,模糊搜索会根据距离表示的某些差异将搜索字词与索引值匹配。

我也理解,拼写检查还会根据您的搜索字词与索引中的值的接近程度为您提供建议。

所以对我来说,这两件事并没有那么不同,虽然我确信这是由于我在彻底理解每个功能方面的缺点。

如果有人可以通过一个例子提供解释,我将非常感激。

谢谢, 鲍勃

1 个答案:

答案 0 :(得分:0)

我不是Solr的专业人士,但我试着解释一下。

  1. 模糊搜索是Solr在请求期间使用某种拼写检查的简单指令 - Solr的标准查询解析器支持模糊搜索,您可以使用此而无需任何其他设置,例如:roam~roam~1。这个如此流行的拼写检查使用 Damerau-Levenshtein距离或编辑距离算法
  2. 要使用拼写检查需要在solrconfig.xml中配置(请参阅here)。它为您提供了如何实现拼写检查的灵活性(有几个OOTB实现),因此,例如,您可以使用另一个索引进行拼写检查,从而减少主索引的负载。另外,对于拼写检查,使用其他网址/spell,因此它不是模糊查询等搜索查询。
  3. 为什么要使用拼写检查或模糊搜索?我想这取决于你的服务器加载,因为模糊搜索更昂贵,Solr团队不推荐。

    P.S。这是我对模糊和拼写检查的理解,所以如果有人有更正确和清晰的解释,请给我们建议如何处理它们。