在搜索中仅使用特殊字符的 Azure 搜索不会返回任何结果



我们使用的是 Azure 搜索 API,但对于不包含字母数字字符的特殊字符,我们没有得到任何结果。

在将字符串包装在引号 ("( 中之前,我们在返回日语和任何特殊字符的任何匹配结果时遇到了问题,请参阅下面的示例(我们也转义了特殊字符。

不起作用的字符串

var searchTerm = "嘘つきな唇で";
var searchTerm = "test@123";
var searchTerm = "?sd-^&*d$£(";

用引号括起来后,即

搜索词 = "\" +搜索词 + "\"*">

上述所有搜索都返回了预期的匹配项,但现在我们遇到了一个问题,即只有特殊字符的字符串没有匹配项,即

var searchTerm = "@@@@";
var searchTerm = "&@*(%$";
new SearchParameters
{
SearchFields = new List<string> {"name", "publicId"},
Top = 50,
SearchMode = SearchMode.Any,
QueryType = QueryType.Simple, 
Filter = $"status eq 1"
}

任何这方面的帮助将不胜感激

亲切问候

如果不转义或使用其他分析器(而不是默认的 StandardAnalyzer(,我认为您将无法检索结果,因为您提供的一些示例是保留的/特殊字符:

请检查:

https://learn.microsoft.com/en-us/azure/search/query-lucene-syntax#escaping-special-characters

编辑:请在此处阅读有关分析仪的信息:https://learn.microsoft.com/en-us/azure/search/search-analyzers

相关内容

  • 没有找到相关文章

最新更新