【问题标题】:AWS CloudSearch: how to search a large subset?AWS CloudSearch:如何搜索大子集?
【发布时间】:2017-11-09 17:38:52
【问题描述】:

我只是想在我们的 CloudSearch 索引中搜索大量的 id 子集。

我尝试过使用结构化查询(以及简单查询加上 filterQuery),例如,这会将搜索范围缩小到仅三个记录,即item_key 为 36933、36940 或 36950 的记录。

(or (term field=item_key 'item_36933') (term field=item_key 'item_36940') (term field=item_key 'item_36950'))

这很有效,而且很显然很容易扩展结构化查询以包含许多项目。但是,CloudSearch 中似乎有 50 个此类术语的限制 :-( 这是一个问题,因为我需要搜索超过 50 个项目的集合,但仍然只是整个索引的一小部分。

对于一组任意的 1000 个项目,我怎样才能做到这一点,而无需搜索整个索引然后过滤结果?

【问题讨论】:

    标签: amazon-web-services solr lucene amazon-cloudsearch


    【解决方案1】:

    CloudSearch supports 1024 clauses 每次搜索。

    这意味着您可以对最多匹配 1024 个值的字段进行搜索,例如

    field_name: "value1" OR "value2" OR ... OR "value1024"

    如果您的服务需要支持超过 1024 个单独的匹配项,那么您将需要拆分为 1024 个的多个查询并组合结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多