我已经实现了建议+自动完成一个使用搜索api的列表页面,但我不能在建议和列表中拥有一致的结果。
所以我在建议模式下的查询是:https://xxx/indexes/my-index/docs/suggest?suggesterName=generalSearchSuggester&最高= 3,模糊= true&选择美元= sys_Id,名字,Url&搜索= nin& api版本= 2020-06-30这将返回3个结果:
尼娜- Nina25 尼克
和搜索api我的查询是:https://xxx/indexes/my-index/docs?api-version=2020-06-30&及数= true& queryType = full& searchMode = any& % 24跳过= 0,% 24前= 16,搜索= nin * ~ 1, % 24选择=名称
返回2个结果
尼娜- Nina25
在这个页面:https://learn.microsoft.com/en-us/rest/api/searchservice/suggestions我看到"编辑距离是1/查询string"所以我猜这对应于~1,但我不明白如何使它一致。
问候,
在您的搜索示例中,您正在使用通配符搜索和模糊搜索的组合。如文档所述,要使用模糊搜索,请从查询中删除*,并直接使用波浪字符指定编辑距离。
https://xxx/indexes/my-index/docs?api-version=2020-06-30&&count=true&queryType=full&searchMode=any&%24skip=0&%24top=16&search=nin~1&%24select=Name
这将匹配拼写距离为1的标记。
- nin~1 (matches nina)
- n ~2(匹配nick)
- ninin ~3(匹配nina25)
模糊搜索匹配相似的词,包括拼写错误单词。要进行模糊搜索,请在a的末尾附加波浪形~符号带可选参数的单个单词,取值在0到2之间,表示指定编辑距离。例如,blue~或blue~1将返回蓝色,蓝色和胶水。
自动补全与搜索
自动补全建议器的目的是为您提供关于搜索内容的模糊建议。它告诉你,你可以搜索nina, nina25或者nick。在搜索这些术语时,您将获得包含令牌nina(或nina25或nick)的所有结果。