使用Azure搜索标记提升中的逗号标记参数

时间:2016-04-28 23:59:57

标签: azure azure-search

我们在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因为查询字符串中的逗号分隔打破它时,它就崩溃了。

有没有办法逃脱逗号,或忽略标点符号,或者这是不可能的?

1 个答案:

答案 0 :(得分:2)

这是由于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类现在可以为您完成所有这些操作。

相关问题