我正在使用 elasticsearch-rails 和 will_paginate gem 使用 Elasticsearch 运行 Rails,并且运行良好。
我遇到的唯一问题是我的记录数已超过 10.000,这会在有人单击时出现错误“结果窗口太大,从 + 大小必须小于或等于:[10000] 但为 [10200]”在分页链接的最后一页。
现在我不想弄乱 index.max_result_window 因为我的数据集要大得多,而且我真的不需要访问者能够查看每个页面并进行记录。
所以基本上我只想对我的结果设置一个 10.000 的限制,但我没有运气让它工作。
这是我在控制器操作中的查询:
@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 值,但似乎没有任何效果。
你们有什么想法吗?
谢谢!