Я использую Rails с Elasticsearch, используя elasticsearch-rails и драгоценные камни will_paginate, и все работает отлично.
Единственная проблема, с которой я сталкиваюсь, заключается в том, что количество моих записей превысило 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) в разных местах и задавать значение total_entries для will_paginate, но, похоже, ничего не работает.
У вас есть идеи?
Спасибо!