Azure Search多字段搜索配置:课程代码精确匹配,名称与关键词模糊搜索
实现Azure Search课程检索:精确匹配CourseCode + 模糊搜索Coursename/Keywords
嘿,我刚好处理过类似的Azure Search课程检索需求,给你整理了完全贴合你要求的实现方案:
核心匹配规则
- CourseCode(编码字段):采用精确匹配,通过「字段限定+双引号」的语法实现,比如
CourseCode:"HCN_6_006",确保只有完全匹配编码的课程才会被命中 - Coursename & Keywords:使用模糊搜索(允许1个字符的编辑差异),通过在查询值后添加
~1后缀实现,比如Coursename:"HCN_6_006~1"、Keywords:"HCN_6_006~1",这样拼写相近的课程名称或关键词也能被检索到
完整Search Explorer查询URL
直接用这个URL就能在Search Explorer里执行检索:
https://xxx.search.windows.net/indexes/prospectussearchindexlive/docs?api-version=2016-09-01&search=CourseCode:"HCN_6_006" OR Coursename:"HCN_6_006~1" OR Keywords:"HCN_6_006~1"
关键参数说明
indexes/prospectussearchindexlive:替换成你实际使用的Azure Search索引名称api-version=2016-09-01:指定API版本(如果你的服务支持更新版本,可以调整为对应版本号)search参数:用OR逻辑连接三个字段的查询条件,只要满足其中一个条件的课程就会被返回
小提示
如果需要放宽模糊搜索的匹配度,可以把 ~1 改成 ~2(允许2个字符的差异),不过针对课程编码这类短字符串,~1 的精度已经足够啦。
内容的提问来源于stack exchange,提问作者Electromorph
相关产品推荐
相关产品推荐

