Tôi đang sử dụng Lucene để hiển thị kết quả tìm kiếm trong một ứng dụng web. Tôi cũng đang phân trang tùy chỉnh để hiển thị giống nhau. Kết quả tìm kiếm có thể thay đổi từ 5000 đến 10000 trở lên. Ai đó có thể cho tôi biết chiến lược tốt nhất để phân trang và lưu vào bộ nhớ cache kết quả tìm kiếm không?Phân trang kết quả tìm kiếm của Lucene
Trả lời
Tôi khuyên bạn không nên lưu kết quả vào bộ nhớ cache, ít nhất là không ở cấp ứng dụng. Chạy Lucene trên một hộp có nhiều bộ nhớ mà hệ điều hành có thể sử dụng cho bộ nhớ cache của tệp sẽ giúp ích.
Chỉ cần lặp lại tìm kiếm với mức chênh lệch khác nhau cho mỗi trang. Caching giới thiệu tính statefulness, cuối cùng, làm suy yếu hiệu suất. Chúng tôi có hàng trăm người dùng đồng thời tìm kiếm chỉ mục hơn 40 triệu tài liệu. Tìm kiếm hoàn thành trong ít hơn một giây mà không sử dụng bộ nhớ đệm rõ ràng.
Sử dụng các đối tượng Hits
trở về từ tìm kiếm, bạn có thể truy cập các tài liệu cho một trang như thế này:
Hits hits = searcher.search(query);
int offset = page * recordsPerPage;
int count = Math.min(hits.length() - offset, recordsPerPage);
for (int i = 0; i < count; ++i) {
Document doc = hits.doc(offset + i);
...
}
Bạn vẫn không gặp vấn đề về hiệu suất? –
Xin chào erickson .. bạn có thể vui lòng cho tôi biết từ đó phiên bản trở đi lucene hỗ trợ phương thức tìm kiếm chỉ lấy 1 đối số truy vấn..và cũng có thể phân loại có thể với giải pháp này. ??? –
@AshaKoshti Forever? Nó đã có trong 1.4.3, phát hành vào năm 2004. Tôi không thể tìm thấy một phiên bản cũ hơn trong kho lưu trữ. Có, có quá tải 'tìm kiếm (Truy vấn, Sắp xếp)' trên 'Searcher'. – erickson
- 1. Kết quả Điểm Lucene
- 2. Kết quả Tìm kiếm Đầu tiên của Google (SEO?)
- 3. Lucene - tìm kiếm trường giá trị số
- 4. kết quả tìm kiếm của google trong iframe thay thế
- 5. grails pagination của các kết quả tìm kiếm
- 6. Làm mới kết quả tìm kiếm của Google cho trang web của tôi
- 7. Tìm kiếm và gạch dưới Lucene
- 8. Phân trang và phân loại theo tìm kiếm đàn hồi
- 9. Tính phức tạp của tìm kiếm của Lucene
- 10. Truy vấn tất cả kết quả trong Lucene IndexSearcher
- 11. Phân trang Lucene với TopScoreDocCollector
- 12. Đọc kết quả Tìm kiếm của Google thành mảng PHP?
- 13. Lọc kết quả API tìm kiếm iTunes
- 14. Xóa trang đã xóa khỏi kết quả tìm kiếm của Google
- 15. Hiển thị sơ đồ trang web trong kết quả tìm kiếm của google
- 16. Tìm kiếm theo lĩnh vực ở Lucene
- 17. Tìm kiếm đa năng trong Lucene
- 18. Cách lấy trang kết quả tìm kiếm bộ sưu tập trang trong Sharepoint 2010?
- 19. Zend Framework 2 Tìm kiếm Lucene?
- 20. liên kết trang web phụ trong kết quả tìm kiếm google
- 21. Phân trang SQL Server 2005 Kết quả
- 22. rails tìm kiếm giới hạn tổng số kết quả tìm kiếm/nhận được số kết quả cố định
- 23. Bing tìm kiếm hình ảnh phân trang - vô hạn cuộn
- 24. Không thể tìm thấy ứng dụng iPhone của tôi trong kết quả tìm kiếm
- 25. Sử dụng Lucene để tìm kiếm địa chỉ email
- 26. Tìm đối sánh chính xác bằng API tìm kiếm Lucene
- 27. php mysql tìm kiếm toàn văn: lucene, sphinx, hoặc?
- 28. Tìm kiếm trang web của Google Analytics
- 29. Lucene: so sánh kết quả giữa các truy vấn
- 30. Kết quả gần nhất cho Tìm kiếm Toàn văn
Thành viên này dường như được tái đặt câu hỏi tương tự hoặc tương tự lặp đi lặp lại: http: // stackoverflow. com/users/41625/meyahoocomaodzxyowykprbavs5sf701zowgzpc3svjv8 Nhìn vào hồ sơ đăng bài trước khi dành thời gian để trả lời ... –