带空格的 Solr 模糊搜索

Solr Fuzzy Search With Spaces

我想用Fuzzy Search Feature of Solr。在我的数据集中,我有一条如下所示的记录:

{
  "lastName": "John Doe"
}

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

  1. 约翰·D
  2. 约翰·杜
  3. 李四
  4. 约翰·迪奥
  5. 约翰·谢奥

我这样执行查询:

  1. 姓氏:“约翰 D”~
  2. 姓氏:“John Do”~
  3. 姓氏:“李四”~
  4. 姓氏:“John Deo”~
  5. 姓氏:“John Xeo”~

我希望查询 1、2、3 和 4 return 记录。可惜只查询了3returns而已。据我了解 documentation, it would be possible to specify the maximum number of edits allowed, when I don't specify something, the edit distance of 2 is used. I think I'm using the syntax incorrectly because if I take a look at my query it looks a lot like a Proximity Search.

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

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

  1. 姓氏:约翰\D~
  2. 姓氏:John\Do~
  3. 姓氏:John\Doe~
  4. 姓氏:John\Deo~
  5. 姓氏:John\Xeo~

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