2010-05-10 28 views
5

Tôi mới để solr. Tôi đã phát triển một trang web sử dụng solr để lập chỉ mục. Tôi muốn xử lý các thời gian chờ có thể xảy ra trong khi đọc và ghi chỉ mục solr.Xin vui lòng hướng dẫn tôi cách tôi có thể xử lý các ngoại lệ này. Tôi đang sử dụng solrj như khách hàng solr và trang web của tôi và máy chủ solr đang chạy trên tomcat.Xử lý Solr đọc và ghi ngoại lệ thời gian chờ

Thnak bạn!

+0

Khi nào bạn nhận được những timeouts? Bạn cam kết bao lâu một lần? Kiểm tra nhật ký Solr, xem nếu không có bất kỳ CẢNH BÁO hoặc L ERI. –

+1

Hi Maurico, Cảm ơn sự quan tâm của bạn! Tôi nhận được những thời gian chờ này khi tôi đang kích hoạt truy vấn tìm kiếm. Những ngoại lệ này không quá thường xuyên. Tôi nhận được ngoại lệ hết thời gian đọc trong nhật ký tomcat của mình là: org.apache.solr.client.solrj.SolrServerException: java.net.SocketTimeoutException: Đọc hết thời gian tại org.apache.solr.client.solrj.impl.CommonsHttpSolrServer .request (CommonsHttpSolrServer.java:243) tại org.apache.solr.client.solrj.SolrServer.optimize (SolrServer.java:94) tại org.apache.solr.client.solrj.SolrServer.optimize (SolrServer.java : 82) ..... ..... –

+0

Theo dõi ngăn xếp cho biết thời gian chờ xảy ra trong quá trình tối ưu hóa, không phải truy vấn ... bạn có tối ưu hóa mỗi khi bạn kích hoạt truy vấn không? –

Trả lời

11

Cam kết và tối ưu hóa là các hoạt động để cập nhật khả dụng cho người tìm kiếm. Chúng được dự định chạy sau khi cập nhật, không phải trước khi truy vấn.

Hơn nữa, chúng là các hoạt động tốn kém, đó là lý do tại sao bạn nhận được thời gian chờ không thường xuyên. Trừ khi bạn có một số yêu cầu đặc biệt, tôi khuyên bạn nên đặt tùy chọn <autoCommit/> trong tệp solrconfig.xml của mình. Như tên gọi, nó sẽ tự động đưa ra cam kết tùy thuộc vào các tiêu chí có thể cấu hình như số lượng tài liệu không cam kết tối đa hoặc thời gian tối đa sau khi thêm tài liệu.

Tối ưu hóa thậm chí còn đắt hơn Cam kết, về cơ bản nó viết lại chỉ mục. Tần suất của Optimize tùy thuộc vào tần suất bạn Cam kết thay đổi và số lần thay đổi có trên mỗi lần commit.

Xem thêm:

+0

Cảm ơn rất nhiều Mauricio. Tôi đã có tất cả các nghi ngờ đã xóa và đã triển khai. Do đó tôi chỉ đang sử dụng các cam kết khi chỉ mục solr được thêm vào hoặc xóa. Cảm ơn! –