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:
Nguồn
2010-05-11 13:20:27
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. –
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) ..... ..... –
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? –