【问题标题】:Query for field existence in CloudSearch在 CloudSearch 中查询字段是否存在
【发布时间】:2014-05-21 03:32:07
【问题描述】:

假设我在 CloudSearch 中索引的文档列表中有一个名为“xyz”的可选字段。

如何查询 CloudSearch 以使其仅返回那些包含“xyz”的文档?

如果我事先知道它是一个正整数,我可能可以执行以下操作来获取所需的列表: q=xyz:[0,}&q.parser=structured

但是如果 'xyz' 存储一些其他类型,如字符串或整数/字符串列表等,我该怎么做呢?

顺便说一句,我以前使用过 Solr,我可以简单地通过 q=xyz:* 来实现这一点。 CloudSearch 是否支持这样的正则表达式?

【问题讨论】:

标签: amazon-web-services amazon-cloudsearch


【解决方案1】:

您可以使用 * 运算符查询字段中的非空值,在您的情况下它将是 xyz:* 这仅在您使用 Lucene 解析器查询 CloudSearch 时才有效。

【讨论】:

  • Query Parser 是 search api 中的 "queryParser" 属性,示例代码: $result = $this->client->search(array( 'query' => $str, //'queryParser' => 'simple|structured|lucene|dismax', 'queryParser' => 'lucene', 'size' => 100, 'return' => '_score,_all_fields' ));
猜你喜欢
  • 1970-01-01
  • 2014-12-22
  • 2021-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多