Tôi quan tâm đến việc chạy Lucene.NET cho một ứng dụng chạy trong các cụm Windows. Các vấn đề tìm kiếm chính nó là hợp lý nhỏ, nhưng vấn đề không trạng thái/cụm vẫn phải được xử lý.Tùy chọn cho phân cụm Lucene.NET?
Tôi hiểu rằng SOLR xử lý kịch bản của tôi (và hơn thế nữa) nhưng yêu cầu một thùng chứa servlet (và Java) đặt ra một số vấn đề đối với tôi. Tùy thuộc vào sự phức tạp của một phương pháp dựa trên Lucene.NET nó vẫn có thể là một tùy chọn lọ, mặc dù.
câu hỏi của tôi bây giờ là những tùy chọn Tôi có để xử lý các vấn đề về chạy trên nhiều host:
Persist trên một lưu trữ chia sẻ, phổ biến đối với tất cả các nút? Lucene.NET sẽ xử lý đồng thời một cách minh bạch? Các máy chủ sẽ sử dụng RAM để lưu vào bộ nhớ đệm và liệu Lucene.NET có xử lý việc vô hiệu hóa tính năng này dựa trên các tệp được cập nhật một cách minh bạch không?
Sao chép? Mỗi máy chủ có bản sao riêng của mình về mọi thứ cần thiết. Trên bất kỳ bản cập nhật nào, tất cả các máy chủ đều nhận được một bản sao mới (hoặc khác nếu điều này là đơn giản hợp lý). Các công cụ hiện có cho điều này, hoặc tùy thuộc vào tôi để xử lý?
Phân vùng/phân đoạn tải công việc? Mỗi máy chủ chỉ xử lý dữ liệu của riêng nó, cả cho đọc và cập nhật. Công cụ để xử lý điều này, tham gia một phần kết quả vv?
Các tùy chọn khác mà tôi có thể đã bỏ lỡ trong lần điều tra ban đầu của mình?
Khi thử nghiệm với phiên bản cục bộ, thư mục Lucene của tôi có thứ tự vài trăm meg. Lâu dài tôi có thể thấy 1-5 GB có lẽ. Nếu tần suất cập nhật là một khó khăn, tôi có thể kiểm soát điều này khá linh hoạt. Số lượt đọc/tìm kiếm đồng thời được mong đợi là rất vừa phải.
Không phải là câu trả lời trực tiếp, nhưng hãy xem elasticsearch (http://www.elasticsearch.org/) - xử lý hầu hết các nhu cầu của bạn khá dễ dàng. – Mikos
Điều gì, nếu có, yêu cầu nào bạn có để giữ cho dữ liệu của bạn được đồng bộ giữa các thành viên cụm sao? Chúng tôi đang ở giữa triển khai cụm quy mô khá lớn của Lucene.NET và tôi có thể cung cấp một số hướng dẫn nếu tôi hiểu tình hình của bạn tốt hơn. –