azure - 在 Azure 搜索标记增强中使用逗号标记参数

标签 azure azure-cognitive-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 时,它会崩溃,因为查询字符串中的逗号分隔会破坏它。

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

最佳答案

这是由于 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/

相关文章:

sorting - 查询为空时如何对结果排序?

Azure Qna Maker 多种语言

azure - 如何在Azure搜索索引中获取字符匹配而不是子字符串

c# - Azure 搜索过滤器 Edm.DateTimeOffset

Azure 逻辑应用 - 业务审计日志记录

Azure Blockchain Workbench 应用程序未显示在企业应用程序中

azure - 如何删除 Azure Databricks 资源组?

azure - 使用 Azure Functions 和 Azure 存储处理长时间运行的任务

html - 是否可以只用 html 建立一个博客?

Azure 搜索 - 语音搜索实现