Azure认知搜索中可搜索Key字段Id是否参与BM25相关性评分?
Azure认知搜索相关性评分问题解答
核心结论
不会存在评分差异,doc1和doc2的搜索评分完全一致。
原因说明
- Azure认知搜索的相关性评分仅基于查询中指定的搜索字段(由
searchFields参数定义)计算。 - 你提供的查询里明确设置了
"searchFields": "name",这意味着本次查询只会在name字段中匹配搜索词"azure",完全不会涉及id字段——哪怕id被标记为可搜索且是Key字段,只要没被加入searchFields列表,就不会参与本次查询的匹配和评分逻辑。 - 你的例子里,两个文档的
name字段都包含"azure",因此二者的相关性评分完全相同,doc1的id里的"azure123"不会对评分产生任何影响。
补充场景
如果查询时没有指定searchFields参数,此时才会默认在所有标记为可搜索的字段(包括id)中进行匹配,这种情况下doc1的id包含搜索词才会导致评分高于doc2。
示例查询代码
{ "search": "azure", "queryType": "full", "searchMode": "all", "searchFields": "name" }
内容的提问来源于stack exchange,提问作者CloudWarrior
相关产品推荐
相关产品推荐

