【发布时间】:2019-02-09 00:26:02
【问题描述】:
使用 AzureSearch .NET SDK 中的 SearchAsync 函数输入包含 UTF8 符号的查询编码字符串时,我得到空响应,但没有找到任何记录。经过对Fiedler的调查,我知道POST请求是发送到Azure搜索服务的:
网址: /indexes('[INDEX_NAME]'/docs/search.post.search?api-version=2017-11-11 HTTP/1.1
正文:
{
"count": false,
"facets": [],
"filter": "search.ismatch('6','CataloguesIds')",
"queryType": "full",
"scoringParameters": [],
"search": "pier%C5%9Bcionek*",
"searchMode": "any",
"select": "Id,Name"
}
Azure 门户发送的相同请求会返回正确的结果。虽然 Fiedler 表明在门户中使用的方法是 GET
网址:/indexes/products-index/docs?api-version=2017-11-11&search=pier%C5%9Bcionek*。
对于包含 UTF8 符号的查询,我应该如何从 AzureSearch SDK 获得与门户中相同的响应?对于没有 UTF8 符号的请求,SearchAsync 方法返回正确的结果。
【问题讨论】:
标签: azure utf-8 azure-cognitive-search