2

我一直在尝试构建一个布尔搜索查询,但我正在搜索的字段的值以 hypen 开头-,通常用作布尔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

4

1 回答 1

3

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

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

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

于 2013-12-02T20:52:23.687 回答