我在 Azure 认知搜索中创建了一个索引器,我还在 Azure 门户中为该索引器创建了默认评分配置文件。现在我想使用客户端设置一个基于标签的评分配置文件,我想在其中提高分数
"func1-val1", "func2-val2", "func3-val3"
.这 3 个值在我的 azure 门户默认评分配置文件中定义为函数。
在我的代码中,我使用作为选项值传递的评分参数来调用该客户端的搜索方法
ASP.NET (C#)
Copy
SearchOptions options = new SearchOptions
{
SearchMode = SearchMode.All,
Filter = filters,
Size = 10000,
};
options.GetType().GetProperty("ScoringParameters").SetValue(options,
new List<string> { "func1-val1", "func2-val2", "func3-val3" });
options.GetType().GetProperty("ScoringStatistics").SetValue(options, ScoringStatistics.Global);
options.GetType().GetProperty("ScoringProfile").SetValue(options, "DeliveryScoringProfile");
//calling the azure search client library .NET method
searchClient.search(searchquery,options)
但是我的评分配置文件不起作用,因为我的结果没有得到提升,如果我通过查询直接点击天蓝色门户中的索引器,那么我将以正确的顺序获得结果。但是当我尝试从图书馆中点击它时,它不起作用,
有人可以帮忙吗?
您应该能够在初始化 SearchOptions 时设置所有这些值:
SearchOptions options = new SearchOptions
{
SearchMode = SearchMode.All,
Filter = filters,
Size = 10000,
ScoringProfile = "DeliveryScoringProfile",
ScoringStatistics = ScoringStatistics.Global,
ScoringParameters = new List<string> { "func1-val1", "func2-val2", "func3-val3" })
};
除此之外,你所做的一切看起来都应该按预期进行。