【问题标题】:How do you limit the maximum number of results with Searchkick如何使用 Searchkick 限制最大结果数
【发布时间】:2016-09-22 07:53:11
【问题描述】:

我正在使用 Searchkick 连接到 ElasticSearch 服务器,该服务器为数十万个文档编制索引。但是,通过 all 结果进行分页经常会导致崩溃。如何告诉 search 方法只返回最多 n 个结果?

【问题讨论】:

  • 我们想看看您尝试了什么,并解释为什么它没有帮助您。请阅读“How to Ask”,包括该页面中的链接。
  • 为什么要投反对票?当您不希望您的用户在您拥有的数百万条记录中滚动时,这很有用,因为他们很可能不会。

标签: ruby-on-rails ruby search elasticsearch searchkick


【解决方案1】:

直接取自您发布的链接中的README

Product.search "apples", where: {in_stock: true}, limit: 10, offset: 50

limit: 10 将导致最多返回10 结果。

【讨论】:

  • 也许我不清楚。我想限制总体返回的结果总数,而不是特定页面中返回的结果总数。假设有 1,000,000 个文档,但我不希望可用于分页的结果数量超过 1,000。
  • 这是奇怪的行为;为什么要限制可用页面的数量?猜测一下,这样做可能是可行的:Product.limit(xxxxx).search "apples", where: {in_stock: true}, limit: 10, offset: 50
  • 因为当您拥有数百万个文档以及被 Google 抓取的索引页面时,当它请求 limit: 1000, offset: 1958 时您会遇到问题。我想一个更好的方式来表达这个问题可能是:你如何限制最大偏移量?
  • 我正在使用body: 构建查询,如此处所述 - github.com/ankane/searchkick#advanced-search - 在使用body 构建查询时,我如何/在哪里传递limit:offset:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
  • 1970-01-01
  • 2021-04-19
  • 2011-04-10
  • 1970-01-01
  • 2020-03-04
  • 1970-01-01
相关资源
最近更新 更多