gpt4 book ai didi

c# - Azure 认知搜索 - 如何使用 & 等保留字符进行搜索

转载 作者:行者123 更新时间:2023-12-03 06:43:55 25 4
gpt4 key购买 nike

我在搜索带有保留字符的文档时遇到问题。更具体地说,我有包含特殊字符 & 的搜索字符串。但我无法从 azure 搜索文档中读取数据。下面是我用来从搜索索引读取文档的 C# 代码。

public async Task AzureSearch()
{
string searchKey="Rohan_A&F";
SearchOptions options = new SearchOptions();
options.SearchFields.Add("CustomerNm");
options.Select.Add("Id");
options.Select.Add("CustomerName");
options.QueryType = SearchQueryType.Full;
options.SearchMode = SearchMode.All;

var client = CreateSearchClient();
var response = await client.SearchAsync<Object>(String.Format("{0}*",searchKey), options);
}

所以不确定我是否遗漏了某些内容或者没有理解正确的文档。但我无法得到结果。

最佳答案

搜索特殊字符取决于您使用的分析器。如果您只使用标准分析器,则在索引过程中特殊字符将被删除。您可以使用 REST API 来测试标准分析器对 Rohan_A&F 等字符串执行的操作:

"tokens": [
{
"token": "**rohan_a**",
"startOffset": 0,
"endOffset": 7,
"position": 0
},
{
"token": "**f**",
"startOffset": 8,
"endOffset": 9,
"position": 1
}
]

如您所见,索引器保留的唯一标记是 rohan_af。您的问题和用例与我最近回复的问题重复:Azure search not working with special characters

查看重复问题,了解有关如何使用不同分析器来搜索特殊字符的详细文章。

关于c# - Azure 认知搜索 - 如何使用 & 等保留字符进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74287283/

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