2012-11-24 34 views
7

Gần đây tôi đã bắt đầu làm việc với MongoDB và Apache Solr. Tôi đang sử dụng MongoDB như một kho dữ liệu và tôi muốn Apache Solr tạo chỉ mục cho dữ liệu của tôi cho tính năng tìm kiếm trong ứng dụng của tôi.Cách dễ dàng để đồng bộ dữ liệu giữa MongoDB và Apache Solr

Sau khi một số nghiên cứu tôi phát hiện ra, về cơ bản có 2 phương pháp để đồng bộ dữ liệu giữa MongoDB và Solr.

1) sử dụng Solr DataImportHandler -

Đối với điều này tôi đã sử dụng SolrMongoImporter tạo ra bởi james và theo hướng dẫn của mình trên github

tôi đã có thể chạy thành công nhập Handler và Solr xác định ImportHandler nhưng nó đã không nhập bất kỳ tài liệu nào vào solr. Mỗi khi nó nói tài liệu cập nhật = 0.

2) Sau đó, tôi đã thử chuyển sang phía MongoDB, để xem có bất kỳ điều gì tồn tại ở đó và tôi tìm thấy MongoDBConnector do 10gen cung cấp.

Khi tôi làm theo hướng dẫn và chạy trình kết nối, nó đang cố gắng đăng nhiều tài liệu lên Solr và nó cung cấp kết quả sau.

2012-11-24 15:15:20,665 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.010 seconds. 
2012-11-24 15:15:21,674 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.009 seconds. 
2012-11-24 15:15:22,683 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.008 seconds. 
2012-11-24 15:15:23,694 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.010 seconds. 
2012-11-24 15:15:24,702 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.008 seconds. 
2012-11-24 15:15:25,711 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.008 seconds. 
2012-11-24 15:15:26,722 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.010 seconds. 

Nhưng không có dữ liệu trong Solr.

Tôi muốn biết cách tiếp cận nào phù hợp với các bạn và có hướng dẫn tốt về MongoDB và Tích hợp Solr.

Ngoài ra, tôi đang tìm đồng bộ hóa thời gian thực giữa MongoDB và solr, tức là ngay khi sản phẩm nào được thêm vào mongodb của tôi, tôi muốn nó được cập nhật trong chỉ mục solr và phản ánh trong kết quả tìm kiếm.

Tôi đang sử dụng MongoDB 2.0.4 và Solr 3.6.1.

+0

Thậm chí nếu nó không phải là java, bạn có thể tìm thấy một số nguồn cảm hứng trong [link] này (http://derickrethans.nl/mongodb-and-solr.html). – Eric

Trả lời

2

Hadoop là một tùy chọn để tạo chỉ mục SOLR. Tôi đã không làm điều này tay đầu tiên, nhưng đã nghe từ những người such as etsy là ai.

Trên this course tại cuộc cách mạng lucene họ đã nói về việc sử dụng hadoop để cập nhật các chỉ mục trong một số lõi SOLR. Rất tiếc, tôi không nghĩ tài liệu khóa học có sẵn công khai.

Và tại this talk người nói đã nói về hỗ trợ mongo/hadoop.

liên kết liên quan khác:

1

Bạn thiết lập các chế độ thiết lập sao? http://docs.mongodb.org/manual/reference/replica-configuration/

Ban đầu, tôi đã nhận được kết quả tương tự như bạn mô tả mặc dù không có dữ liệu trong Solr. Sau khi, tôi thiết lập chế độ sao chép, có vẻ như tập tin oplog đã được tạo và mongodbconnector được đồng bộ hóa chính xác với SOLR. Hoạt động khá độc đáo đối với tôi.

+0

nó sẽ hữu ích, nếu bạn giải thích làm thế nào để cấu hình chế độ sao chép để làm cho nó hoạt động ... – shivadarshan

Các vấn đề liên quan