Amazon web services CloudSearch查询中的转义布尔运算符
我一直在尝试构造一个布尔搜索查询,但是我正在搜索的字段的值以一个hypenAmazon web services CloudSearch查询中的转义布尔运算符,amazon-web-services,amazon-cloudsearch,Amazon Web Services,Amazon Cloudsearch,我一直在尝试构造一个布尔搜索查询,但是我正在搜索的字段的值以一个hypen-开始,它通常用作布尔而不是运算符。举个例子可能会有所帮助: 假设我有一大堆电影唱片,我想搜索“戏剧”类型中所有标题为“《角斗士》”的电影。通常我的查询如下所示: search?bq=(and title:'-gladiator' genre:'drama') 问题是-被解释为而非操作符,因此这将返回给我所有戏剧类型中没有标题“角斗士”的电影。我曾尝试使用黑色斜杠和url编码的反斜杠(%5C)来转义连字符,但在执行此操作
-
开始,它通常用作布尔而不是运算符。举个例子可能会有所帮助:
假设我有一大堆电影唱片,我想搜索“戏剧”类型中所有标题为“《角斗士》”的电影。通常我的查询如下所示:
search?bq=(and title:'-gladiator' genre:'drama')
问题是-
被解释为而非
操作符,因此这将返回给我所有戏剧类型中没有标题“角斗士”的电影。我曾尝试使用黑色斜杠和url编码的反斜杠(%5C)来转义连字符,但在执行此操作时,CloudSearch会出错。到目前为止,我找不到任何关于这个的文档
有人知道如何在布尔搜索查询中转义布尔运算符吗
相关文件
事实证明,你必须用两个反斜杠逃离操作员。类似这样的方法会奏效:
search?bq=(and title:'\\-gladiator' genre:'drama')
如果您试图用curl或类似的方法来测试,也不要忘记对查询字符串进行url编码