Amazon CloudSearch 过滤查询值范围

Amazon CloudSearch filter query on range of values

我正在尝试使用 filterQuery 属性 过滤 CloudSearch。我想传递一个非连续的值范围,但似乎无法理解正确的语法。我可以传递一个值:

filterQuery = (and category_id:97)

和范围:

filterQuery = (or category_id:[97,98])

但不是这个:

filterQuery = (or category_id:[97,98,135,172])

API 文档在此处:http://docs.aws.amazon.com/cloudsearch/latest/developerguide/search-api.html#structured-search-syntax

我认为使用 (or category_id:97) (or category_id:97) 的长手方式也有效,但似乎我错过了一个技巧。

这并不是真正正确的 "long-hand" 语法,但 唯一的方法:

(or category_id:97 category_id 98 ...)

您也可以使用

(or field=category_id 97 98 135 172)

您甚至可以包括一个范围

(or field=category_id 97 98 category_id:[100,105] 135 172)