You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Cognitive Search中实现非关键词匹配的关联内容推荐?

实现思路

以下是几种可行的方案,可根据业务场景选择:

1. 自定义同义词映射

利用Azure Cognitive Search的同义词功能,将用户搜索词与目标文章标题建立语义关联,突破单纯的关键词匹配限制:

  • 在Azure Cognitive Search中创建同义词集,添加映射规则:always feeling tired, feeling tired, tired => tiredness
  • 编辑现有索引,将文章标题字段和搜索内容字段配置为使用该同义词集
  • 搜索时系统会自动将用户查询词映射为tiredness,从而匹配到标题为"Tiredness"的文章
  • 额外设置:给标题字段配置更高的搜索权重(在索引字段的searchable属性中调整weight参数),确保该文章在结果中排名靠前

2. 自定义查询提升规则

维护一个搜索意图-目标文章的映射表(可存储在Azure Table Storage或SQL数据库中),提前定义类似"always feeling tired"这类查询对应的目标文章ID:

  • 用户发起搜索时,先检查映射表是否匹配当前查询
  • 若命中,构造包含目标文章ID的过滤查询,并通过search.scoreboost参数给该文章设置极高权重(例如search.scoreboost=10)
  • 将提升后的查询结果与普通搜索结果合并,把目标文章放在返回结果的首位
  • 若未命中映射表,直接返回普通搜索结果即可

3. 结合大模型做意图识别

利用Azure OpenAI的大模型(如GPT-3.5/4)解析用户的自然语言查询,识别核心主题:

  • 将用户查询文本传入大模型,prompt设置为"分析以下用户搜索内容,输出对应的核心主题关键词:{query}",例如输入"always feeling tired"会返回"Tiredness"
  • 用识别出的主题关键词搜索索引,找到对应的文章
  • 将该文章插入到普通搜索结果的第一位返回
  • 优势:能处理更复杂、多样化的自然语言查询,无需手动维护映射规则

额外优化点

  • 无论采用哪种方案,都可以在搜索结果返回后,通过代码逻辑手动调整排序,将目标文章强制放在首位
  • 可在索引中新增priority字段,给需要前置推荐的文章设置更高优先级值,搜索时按priority降序+评分降序排列

内容的提问来源于stack exchange,提问作者Ajay Krishnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 10:22:21