Tôi có một bảng với khoảng 100.000 hàng tại thời điểm này. Tôi muốn lập chỉ mục dữ liệu trong bảng này trong chỉ mục Solr.Cách tốt nhất để lập chỉ mục dữ liệu bảng cơ sở dữ liệu trong Solr?
Vì vậy, các phương pháp ngây thơ sẽ là:
- Nhận tất cả các hàng
- Đối với mỗi hàng: chuyển đổi sang một SolrDocument và thêm mỗi tài liệu để yêu cầu
- Khi tất cả các hàng được chuyển đổi sau đó bài yêu cầu
Một số vấn đề với cách tiếp cận này mà tôi có thể nghĩ đến là:
- Đang tải dữ liệu quá nhiều (nội dung của toàn bộ bảng) vào bộ nhớ
- đăng một yêu cầu lớn
Tuy nhiên, một số ưu điểm:
- Chỉ có một yêu cầu đến cơ sở dữ liệu
- Chỉ một yêu cầu POST gửi tới Solr
Cách tiếp cận này không thể mở rộng, tôi thấy rằng vì khi bảng phát triển như vậy sẽ yêu cầu bộ nhớ và kích thước của yêu cầu POST. Tôi có thể cần số n
số hàng, xử lý chúng, sau đó thực hiện n
tiếp theo?
Tôi tự hỏi liệu có ai có lời khuyên nào về cách thực hiện tốt nhất điều này không?
(ps. Tôi đã tìm kiếm trang web nhưng tôi không tìm thấy bất kỳ câu hỏi nào tương tự như vậy.)
Cảm ơn.
[DataImportHandler] (http://wiki.apache.org/solr/DataImportHandler)? – nikhil500
Tôi đọc về điều đó, nhưng nó không phải là ánh xạ trực tiếp từ column-to-indexField, có một phép biến đổi nhỏ được áp dụng, do đó muốn thực hiện điều này trong mã. – C0deAttack
DIH hỗ trợ nhiều [máy biến áp] (http://wiki.apache.org/solr/DataImportHandler#Transformer). Bạn cũng có thể viết [máy biến áp tùy chỉnh] (http://wiki.apache.org/solr/DIHCustomTransformer). Tôi sẽ khuyên bạn nên sử dụng DIH nếu có thể - Tôi nghĩ rằng nó sẽ cần số tiền ít nhất của mã hóa và sẽ nhanh hơn POSTING các tài liệu. – nikhil500