CloudSearch - 当字段不存在时返回结果

Sip*_*hon 3 amazon-web-services amazon-cloudsearch

是否有 CloudSearch 结构化查询可以返回字段中没有值的结果?例如,我有一个名为的字段target_date并不总是有值,并且我想返回没有 target_date 的所有结果。该字段未清零或设置为默认值;对于没有日期的项目来说,它根本不存在。

还有一个案例。我需要在target_dateAND 后返回所有结果,并包含没有现有日期的任何结果。我正在使用的结构化查询是target_date:['2000-03-03T00:00:00Z',}. 查找不存在日期的查询应该使用and运算符,例如:(and target_date:['2000-03-03T00:00:00Z',} [QUERY_GOES_HERE])

ale*_*sos 5

我相信您问的问题与Amazon Cloudsearch 相同:如果存在则过滤

总结一下那里的选项:

  1. 添加一个名为“has_target_date”的新布尔字段
  2. 设置默认的 target_date (例如 1/1/1970)以表示它不存在
  3. 黑客:(范围字段=target_date [0,})

这些选项中的任何一个都应该适用于您问题的 QUERY_GOES_HERE 部分。

  • 如果 `(range field=target_date ['0000-00-00T00:00:00Z',})` 为您提供带日期的结果,您可以尝试使用 ` (NOT (range field=target_date ['0000-00-00T00 :00:00Z',}))` (请参阅 NOT 运算符:http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching-compound-queries.html) (2认同)