对字符串集合的模糊搜索

Fuzzy search on a collection of strings

我正在使用 Azure 搜索,我有一个索引,该索引有一个名为 'keywords' 的字段,其中包含与单个文档相关的关键字(类型为 Collection(Edm.String))。我希望能够对我的文档使用模糊搜索,正如我从 this link 中了解到的那样,我所要做的就是在搜索查询的末尾添加一个“~”字符。但是,这似乎不适用于我的情况。

我的索引中有一些文档,其中一个的关键字中包含 "fun"。当我使用模糊搜索搜索 "run" 时,我希望看到包含关键字 "run" 以及 "fun" 的文档。如果我没记错的话,"fun" 和 "run" 之间的编辑距离只有 1,这似乎是 Azure Search 的模糊搜索使用的默认距离。我在这里做错了什么吗?

或者Collection(Edm.String)类型不支持模糊搜索? 'keywords' 的属性是可搜索、可过滤和可检索。

编辑:我正在为 'keywords' 字段使用标准 Lucene 分析器。当我发送查询时

https://fakename.search.windows.net/indexes/fakeindex/docs?api-version=2016-09-01&search=run~

我希望得到以下文档,因为它的关键字包含 "fun"

"keywords": [
    "balloon",
    "message",
    "text",
    "monster",
    "fun",
    "evil",
    "mad",
    "cartoons",
    "funny"
  ]

模糊搜索功能仅在 Azure 搜索的 Lucene 查询语法中受支持。请在查询字符串中指定 queryType=full。