ฉันใช้ Rails กับ Elasticsearch โดยใช้ elasticsearch-rails และ will_paginate gems และสิ่งต่าง ๆ ทำงานได้ดีมาก
ปัญหาเดียวที่ฉันมีคือจำนวนบันทึกของฉันเพิ่มขึ้นมากกว่า 10,000 ซึ่งทำให้เกิดข้อผิดพลาด "หน้าต่างผลลัพธ์ใหญ่เกินไป ขนาดจาก + ต้องน้อยกว่าหรือเท่ากับ: [10,000] แต่เป็น [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 แต่ดูเหมือนว่าจะไม่มีอะไรทำงาน
พวกคุณมีความคิดบ้างไหม?
ขอบคุณ!