繁体   English   中英

带斜线的 Azure 搜索搜索

[英]Azure Search search with slash

我正在使用 Azure 认知搜索。

private async Task PerformSearchAsync<T>(SearchServiceDocumentsQueryParameters parameters, SearchClient searchClient, ICollection<T> outputCollection)
            where T : BaseSearchIndexObject
        {
            var searchResponse = await searchClient.SearchAsync<T>(parameters.SearchTerm, new SearchOptions
            {
                Filter = parameters.Filter,
                IncludeTotalCount = true,
                Size = parameters.MaxItemsCount
            });
            await foreach (var searchResult in searchResponse.Value.GetResultsAsync())
            {
                if(outputCollection.All(d => d.Id != searchResult.Document.Id))
                    outputCollection.Add(searchResult.Document);
            }
        }

一切正常,直到搜索词包含斜线。 例如,我正在寻找编号为“1508/W/2020”的订单。 当我使用 SearchTerm = "1508" 进行搜索时,它可以工作。 当 SearchTerm = "1508/W" 时,它什么都不返回。 我尝试用\\\\转义斜杠,但它仍然不起作用。 你能给我建议任何解决方案吗?

评论是正确的。 要转义/ ,您应该使用这种格式\\/而不是\\\\

有关更多详细信息,您可以参考此官方文档进行特殊字符转义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM