对字符串集合的模糊搜索
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。
我正在使用 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。