gpt4 book ai didi

c# - 如何在 C# 中的 azure 认知搜索结果中返回 search.score

转载 作者:行者123 更新时间:2023-12-03 02:14:47 25 4
gpt4 key购买 nike

我想返回每个结果的分数(azure 分配给每个结果)并将其显示给用户。
我该怎么做?
我的应用程序是用 C# 编写的。

如果您查看使用其 Web 界面返回的 json,我知道 Azure 会对每个结果返回“@search.score”。

但我使用的是名为 Azure.Search.Documents 的 C# 包。

请参阅下面的示例代码。我有一个名为 Hotel 的模型类,它将 azure 的结果返回到其中。

我是否只需添加一个名为 searchScore 的属性,它就会被填充?

我尝试过很多事情。

谢谢。

这是我的代码示例:

private static string _searchURL = "searchURL";
private static string _indexName = "indexName";
private static string _queryApiKey = "queryApiKey";
private async Task SearchQuery()
{
SearchClient searchClientForQueries = new SearchClient(new Uri(_searchURL), _indexName, new AzureKeyCredential(_queryApiKey));

SearchOptions options = new SearchOptions()
{
IncludeTotalCount = true,
SearchMode = SearchMode.Any,
QueryType = SearchQueryType.Full
};

options.Select.Add("Name");
options.Select.Add("Address");

string searchString = "Name:\"The Hotel Name\" AND Address:\"The Address\"";

SearchResults<Hotel> response = await searchClientForQueries.SearchAsync<Hotel>(searchString, options);

//how do I get the searchScore from the response that azure assigns to each Hotel result?
}

public class Hotel
{
public string Name { get; set; }
public string Address { get; set; }
}

最佳答案

您可以使用 JsonPropertyName 将搜索结果映射到您的类属性。

public class Hotel
{
[System.Text.Json.Serialization.JsonPropertyName("@search.score")]
public decimal SearchScore {get; set; }

public string Name { get; set; }
public string Address { get; set; }
}

关于c# - 如何在 C# 中的 azure 认知搜索结果中返回 search.score,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71820018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com