2012-02-18 8 views
11

Tôi đang làm việc trên một dự án có hàng triệu mục được lưu trữ trong cơ sở dữ liệu MongoDB và tôi muốn lập chỉ mục tất cả dữ liệu này bằng SOLR.solr Trình xử lý nhập dữ liệu cho MongoDB

Sau khi mở rộng Tìm kiếm tôi đã biết không có "Trình xử lý nhập dữ liệu" thích hợp cho cơ sở dữ liệu mongoDB.

Bất cứ ai có thể cho tôi biết cách tiếp cận thích hợp để lập chỉ mục dữ liệu trong MongoDB bằng SOLR là gì?

Tôi muốn sử dụng tất cả các tính năng của SOLR và muốn nó có thể mở rộng trong thời gian thực. Tôi nhìn thấy một hoặc hai cách tiếp cận từ bài viết khác nhau nhưng không chắc chắn làm thế nào họ sẽ làm việc theo thời gian thực ..

Nhiều Cảm ơn

Trả lời

5

Tôi đã viết một response cho một câu hỏi tương tự, ngoại trừ đó là làm thế nào để nhập dữ liệu từ MySQL vào Solr . Mã ví dụ là trong PHP, nhưng nên cung cấp cho bạn một ý tưởng chung. Tất cả những gì bạn cần làm là thiết lập một trình lặp để duyệt qua các tài sản MongoDB của bạn, trích xuất dữ liệu sang các kiểu dữ liệu SOLR, và sau đó lưu nó vào chỉ mục SOLR của bạn.

Nếu bạn muốn nó là thời gian thực, bạn có thể thêm một số mã tùy chỉnh vào cơ chế tiết kiệm (giả sử điều này có thể được thực hiện với MongoDB) và lưu trực tiếp vào chỉ mục SOLR, sau đó chạy tập lệnh cam kết để cam kết dữ liệu cứ sau 15 phút (thông qua cron).

+0

Cảm ơn bạn đã trả lời của bạn. Một câu hỏi thú vị khác đã được nêu ra khi tôi nói chuyện với bạn cùng phòng của tôi là cách tốt nhất để lập chỉ mục dữ liệu trong mongoDB, cho dù sử dụng các chỉ mục mongoDB hay Solr Indexers, sẽ hiệu quả hơn. Chúng tôi muốn có mặt Tìm kiếm và tất cả khác. Ý kiến ​​của bạn như thế nào ? – kich

+1

MongoDB là một giải pháp NoSQL (afaik), có nghĩa là nó tuyệt vời để lưu trữ dữ liệu như mô tả sách. Và, MongoDB là một cửa hàng liên tục, trong khi SOLR (kết thúc tốt đẹp), là một công cụ tìm kiếm. Tôi sẽ sử dụng cả hai, MongoDB cho lưu trữ liên tục và SOLR để tìm kiếm văn bản. –

+0

Cảm ơn bạn, tôi sẽ không sử dụng tìm kiếm văn bản đầy đủ vì dữ liệu mà tôi có trong cơ sở dữ liệu giống như siêu dữ liệu hơn (Ví dụ: để tìm kiếm từ khóa tên sách, nó sẽ cho kết quả tìm kiếm mô tả sách, hình ảnh, tác giả tên, cửa hàng cung cấp sách) nhưng tôi cần tìm kiếm mặt để trình bày thông tin trong trang web. Bạn có nghĩ rằng tôi nên mongoDB để lập chỉ mục và solr cho tìm kiếm mặt hoặc solr cho cả lập chỉ mục và tìm kiếm mặt? Cảm ơn bạn – kich

5

Tôi đã tạo một plugin để cho phép bạn tải dữ liệu từ MongoDb bằng cách sử dụng trình xử lý nhập dữ liệu Solr.

Check it out tại địa chỉ:

https://github.com/james75/SolrMongoImporter

+0

Cảm ơn bạn ..Tôi sẽ dùng thử lần sau – kich

+0

+1 trình kết nối cấu hình solr gốc – Marcel