使用适用于 .NET 的 Azure 认知搜索客户端库在搜索查询中添加评分配置文件

问题描述 投票:0回答:1

我在 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)

但是我的评分配置文件不起作用,因为我的结果没有得到提升,如果我通过查询直接点击天蓝色门户中的索引器,那么我将以正确的顺序获得结果。但是当我尝试从图书馆中点击它时,它不起作用,

有人可以帮忙吗?

azure search azure-cognitive-services
1个回答
0
投票

您应该能够在初始化 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" })
};

除此之外,你所做的一切看起来都应该按预期进行。

© www.soinside.com 2019 - 2024. All rights reserved.