CloudSearch 简单范围

CloudSearch simple Range

我正在尝试执行一个非常简单的范围查询,但它返回了 "zero" 个结果。谁能检查一下我在哪里犯了错误?

"Number_Field"是一个INT字段,假设是yyyymmdd表示的日期。我想获取 20150906 之前发布的所有文档。我使用的是 2013 CloudSearch API.

这是我正在尝试做的事情: {'q': '(范围字段=number_field {[20150906])'}

q=%28range+field%3Dnumber_field+%7B%5B%2C20150906%5D%29

您的查询有一些问题:

  1. 您开始使用包含 ([) 和排除 ({) 运算符的范围;它应该读作 {,20150906] 而不是 {[,20150906]

  2. 由于您的查询需要解释(而不是匹配文字字符串),因此您需要使用结构化查询解析器。我不确定您使用的是哪个库,但您可以通过将 'q.parser': 'structured' 添加到参数数组来实现。

  3. 您写了 Number_Field 以及 number_field 但请记住,字段名称区分大小写。

查看 the docs 了解更多信息。