solr:精确搜索返回正确匹配但Fuzzy返回无匹配

时间:2012-04-18 14:49:37

标签: solr fuzzy-search

我在本地计算机上有一个Solr实例,我通过浏览器中的管理界面访问它。 Solr的实例正在用于非模糊搜索(我每天都广泛使用它)。

数据库中的一条记录是我自己的名字字段Barnaby和姓氏字段Dawson。另一个记录是Marcus Downing,有适当的姓氏和姓氏字段。这里的资本完全一样。在数据库中还有十多个姓唐宁的人和道森的姓氏相似。还有另一个字段IsHistorical在我感兴趣的所有记录中设置为false。

以下是我使用大量匹配(精确和不精确)执行的搜索。

IsHistorical:false AND Surname:downing

许多比赛都很精确。

IsHistorical:false AND Surname:dawson

许多比赛大多数是准确的。

IsHistorical:false AND Surname:downing~

许多匹配的确切匹配。

IsHistorical:false AND Surname:dawson~

许多匹配很多都是精确的

IsHistorical:false AND Forename:barnaby和Surname:dawson~

一场比赛是正确的结果

IsHistorical:false AND Forename:marcus AND Surname:downing~

根本没有匹配

我已经使用姓氏和名字的首字母大写的所有组合执行了最后两次搜索,并且结果没有观察到差异。我确保页面返回的行数足够大,以查看返回的所有结果。查询是手工输入的。

我的问题是:为什么模糊搜索修饰符会在搜索'downing'时阻止我获得完全匹配,但在搜索'dawson'时却没有?

我的最终目标是以模糊的方式撰写与多个字段匹配的查询,包括forename和surname。

1 个答案:

答案 0 :(得分:3)

我的假设是您在姓氏字段的架构中有阻止过滤器,而 downing 变为 down

模糊 down 为您提供此类结果。我认为最好删除此字段的词干过滤器。