1

我想使用Solr 的模糊搜索功能。在我的数据集中,我有一条如下所示的记录:

{
  "lastName": "John Doe"
}

我想使用以下字符串执行多个模糊搜索:

  1. 约翰 D
  2. 约翰多
  3. 约翰·多伊
  4. 约翰·迪奥
  5. 约翰·谢奥

我执行这样的查询:

  1. 姓氏:“约翰 D”~
  2. 姓氏:“John Do”~
  3. 姓氏:“John Doe”~
  4. 姓氏:“约翰·迪奥”~
  5. 姓氏:“John Xeo”~

我希望,查询 1、2、3 和 4 返回记录。不幸的是,只有查询 3 返回它。正如我从文档中了解到的那样,可以指定允许的最大编辑次数,当我没有指定某些内容时,使用 2 的编辑距离。我认为我使用的语法不正确,因为如果我看一下我的查询,它看起来很像Proximity Search

但是如何在不使用邻近搜索的情况下模糊搜索包含空格的字符串?

4

1 回答 1

0

我的问题似乎是,我确实执行了Proximity Search

  1. 姓:约翰\ D~
  2. 姓:约翰\做~
  3. 姓氏:John\Doe~
  4. 姓氏:约翰\迪奥~
  5. 姓氏:John\Xeo~

完全按照我的意图工作。我必须确保此处列出的所有特殊字符https://lucene.apache.org/solr/guide/7_3/the-standard-query-parser.html都已正确转义。

于 2020-10-13T16:26:06.937 回答