0

我的本地机器上有一个 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 AND Surname:dawson~

一场比赛是正确的结果

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

根本没有比赛

我使用姓氏和名字的首字母大写的所有组合执行了最后两次搜索,结果没有发现差异。我已确保 page 返回的行数足够大,可以查看所有返回的结果。查询是手动输入的。

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

我的最终目标是以模糊的方式编写匹配多个字段的查询,包括名字和姓氏。

4

1 回答 1

3

我的假设是您在surname字段的架构中具有词干过滤器,并且downing变为down

Fuzzy on down给你这种结果。我认为最好删除该字段的词干过滤器。

于 2012-04-18T15:06:12.183 回答