【问题标题】:Escape boolean operators in CloudSearch queriesCloudSearch 查询中的转义布尔运算符
【发布时间】:2013-12-03 04:52:23
【问题描述】:

我一直在尝试构建一个布尔搜索查询,但我正在搜索的字段的值以连字符- 开头,它通常用作布尔not 运算符。一个例子可能会有所帮助:

假设我有一堆电影记录,我想在“戏剧”类型中搜索所有标题为“-gladiator”的电影。通常我的查询应该是这样的:

search?bq=(and title:'-gladiator' genre:'drama')

问题在于 - 被解释为 not 运算符,因此这将返回给我所有没有角斗士称号的戏剧类型电影。我尝试使用黑斜杠和 url 编码的反斜杠 (%5C) 转义连字符,但是当我这样做时,我从 CloudSearch 收到错误。到目前为止,我找不到任何关于此的文档。

有谁知道如何在布尔搜索查询中转义布尔运算符?

相关文档 http://docs.aws.amazon.com/cloudsearch/latest/developerguide/booleanoperators.html http://docs.aws.amazon.com/cloudsearch/latest/developerguide/booleansearch.html

【问题讨论】:

    标签: amazon-web-services amazon-cloudsearch


    【解决方案1】:

    事实证明,您必须使用两个反斜杠来转义运算符。这样的事情会起作用:

    search?bq=(and title:'\\-gladiator' genre:'drama')
    

    如果您尝试使用 curl 或类似的东西进行测试,请不要忘记对您的查询字符串进行 url 编码。

    【讨论】:

      猜你喜欢
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 2011-04-20
      • 2011-09-27
      • 2011-03-27
      相关资源
      最近更新 更多