gpt4 book ai didi

ruby-on-rails - 限制 Rails 中的 Elasticsearch 结果计数

转载 作者:行者123 更新时间:2023-12-02 02:59:07 25 4
gpt4 key购买 nike

我正在使用 elasticsearch-rails 和 will_paginate gem 运行带有 Elasticsearch 的 Rails,并且一切运行良好。

我遇到的唯一问题是我的记录数增加了 10.000,这会导致错误“结果窗口太大,从 + 大小必须小于或等于:[10000] 但当有人点击时是 [10200]”在分页链接的最后一页。

现在我不想弄乱 index.max_result_window 因为我的数据集会大得多而且我真的不需要访问者能够查看每个页面并无论如何记录。

所以基本上我只想对我的结果设置 10.000 的限制,但我没有运气让它起作用。

这是我在 Controller 操作中的查询:

@response = Price.search(params)
@response = @response.paginate(page: params[:page], per_page: 24)
@prices = @response.records.includes(shop: :pictures)
@prices_count = @response.total_entries
@prices = @prices.decorate
@results = @response.results

我将@response 提供给 will_paginate 使用
will_paginate(@response)

我试过在不同的地方使用 .limit(10000) 并给 will_paginate 一个 total_entries 值,但似乎没有任何效果。

你们有什么想法吗?

谢谢!

最佳答案

我有同样的问题,就我而言,我使用的是 kaminari但应该与 will_paginate 相同:

= paginate @keyword_search_results



在 400 页后每页有 25 个结果,它会抛出 index.max_result_window错误,所以我只添加 :total_pages选项 paginate

= paginate @keyword_search_results, {:total_pages => 400}



根据您的需要动态计算该值是个好主意。

关于ruby-on-rails - 限制 Rails 中的 Elasticsearch 结果计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47494285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com