我们在 Azure 搜索中的评分配置文件上使用标签增强,以根据相交字符串的数量增强结果。
ie.
Doc1 has { id: 1, name: "thing", stuff:["1 stuff","2 stuff","3,4,5 stuff"] }
Doc2 has { id: 2, name: "thing2", stuff:["1 stuff","2 stuff"] }
使用评分参数作为 stuffParam:1 stuff,2 stuff
进行搜索就可以了。
但是当尝试提升 stuffParam:1 stuff,3,4,5 stuff
时,它会崩溃,因为查询字符串中的逗号分隔会破坏它。
有没有办法转义逗号,或者忽略标点符号,或者这是不可能的?
最佳答案
这是由于 Azure 搜索中的一个错误造成的,现已修复。您现在可以使用带有破折号分隔符的新语法,而不是使用冒号分隔符的旧语法,并使用引号转义任何包含逗号的标签。例如,这个:
stuffParam:1 stuff,3,4,5 stuff
现在可以这样写:
stuffParam-1 stuff,'3,4,5 stuff'
如果您的标签包含引号,您可以将它们加倍以转义它们。例如:
stuffParam-'Hello, O''Brien'
将匹配标签“Hello, O'Brien”。
如果您使用 1.1.2 版或更高版本的 Azure Search .NET SDK,ScoringParameter
类现在可以为您完成所有这些操作。
关于azure - 在 Azure 搜索标记增强中使用逗号标记参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36927392/