Azure 认知搜索 - 评分配置文件 - 每个配置文件的最大函数数为 8

Azure Cognitive Search - Scoring profile - Maximum functions per profile is 8

我们正在开发搜索工具并尝试使用评分配置文件来管理相关性。

具有定价层的 Azure 认知搜索实例 - 标准和索引有一个评分配置文件,其中有 8 个字段定义了用于提升值的函数 -

  1. Is_Active 2. MS_Status 3. Div_Flag 4. FeedBack_Rating 5. ExperienceLevel 6. CostRating 7. PaymentScores 8. AcceptanceScore

现在尝试再添加一个字段 (Is_Cross_Geographies_Active) 但是收到以下错误 -

{"error":{"code":"","message":"请求无效。详细信息:定义:scoringFunctionCount 必须介于 0 和 8 之间。实际值:9\r\n"} }

经过进一步研究,得到了以下文档,解释了其背后的原因,其中指出评分配置文件中允许的最大功能,可以是 8

https://docs.microsoft.com/en-us/azure/search/search-limits-quotas-capacity

问题 - 如果我们需要添加更多字段,我们是否应该将多个字段组合成单个字段,即派生字段,然后将该字段添加到评分配置文件中? 此外,目前我们已将标志和状态添加为索引上的数字字段,即 1,0,并作为具有持续提升功能的提升功能的一部分添加。请指教这里是否应该采用任何不同的方法?

我假设您希望应用影响全文搜索结果相关性分数的因素,而不是寻求严格的排序。如果是后者,我建议使用 $orderby.

由于您所有的提升标准都可以用数字表示,而且听起来您正在使用幅度提升,因此有机会按照您的建议绕过限制。如果您能够在编制索引之前或期间从所有其他字段预先计算出提升因子,那么您可以使用单个评分函数来提升它。这也可能会提高评分的性能,尽管我暂时没有任何数据来量化这一点。