我想使用Solr的模糊搜索功能。在我的数据集中,我有一条记录如下:
{
"lastName": "John Doe"
}
我想用以下字符串执行多个模糊搜索:
- John D
- John Do
- John Doe
- John Deo
- John Xeo
我执行如下查询:
- 姓氏:"John D〃~
- 姓氏:"John Do">
- 姓氏:"John Doe"~
- 姓氏:"John Deo"~
- 姓氏:"John Xeo"~
我预计,查询1、2、3和4会返回记录。不幸的是,只有查询3返回它。正如我从文档中了解到的,可以指定允许的最大编辑次数,当我没有指定时,使用编辑距离2。我认为我使用的语法不正确,因为如果我查看我的查询,它看起来很像接近搜索。
但是,如何在不使用邻近搜索的情况下模糊搜索包含空格的字符串?
我的问题似乎是,我确实执行了邻近搜索。
- 姓氏:John \D~
- 姓:John Do~
- 姓氏:John Doe~
- 姓氏:John \ Deo~
- 姓氏:John \ Xeo~
与我的意图完全一样。我必须确保,这里列出的所有特殊字符https://lucene.apache.org/solr/guide/7_3/the-standard-query-parser.html正确逃脱。