【发布时间】:2020-10-13 06:14:57
【问题描述】:
我想使用Fuzzy Search Feature of Solr。在我的数据集中,我有一条如下所示的记录:
{
"lastName": "John Doe"
}
我想使用以下字符串执行多个模糊搜索:
- 约翰·D
- 约翰·多
- 约翰·多伊
- 约翰·迪奥
- 约翰·肖
我这样执行查询:
- 姓氏:“John D”~
- 姓氏:“John Do”~
- 姓氏:“John Doe”~
- 姓氏:“John Deo”~
- 姓氏:“John Xeo”~
我希望,查询 1、2、3 和 4 会返回记录。不幸的是,只有查询 3 返回它。正如我从documentation 中了解到的,可以指定允许的最大编辑次数,当我没有指定某些内容时,使用 2 的编辑距离。我认为我使用的语法不正确,因为如果我看一下我的查询,它看起来很像 Proximity Search。
但是如何在不使用邻近搜索的情况下模糊搜索包含空格的字符串?
【问题讨论】:
-
字段类型是什么?如果您想执行这样的模糊匹配,您可能希望将其保留为单个标记,而不是作为单独的标记进行索引 - 但是,有一种解决方法 - 您可以使用复杂的查询解析器 - 它允许您指定
inOrder并单独对每个单独的令牌应用模糊匹配。 lucene.apache.org/solr/guide/8_6/…
标签: solr solr-search