Có, tôi đã sử dụng nó cho chính xác những gì bạn mô tả. Chúng tôi có hai dịch vụ - một cho đọc, và một cho viết, nhưng chỉ vì chúng tôi có nhiều độc giả. Tôi chắc rằng chúng tôi có thể thực hiện nó chỉ với một dịch vụ (nhà văn) và nhúng trình đọc vào ứng dụng và dịch vụ web.
Tôi đã sử dụng lucene.net làm chỉ mục cơ sở dữ liệu chung, vì vậy những gì tôi nhận được về cơ bản là DB id (để lập chỉ mục email) và tôi cũng sử dụng nó để lấy lại đủ thông tin để điền kết quả tìm kiếm hoặc như vậy mà không cần chạm vào cơ sở dữ liệu. Nó làm việc rất tốt trong cả hai trường hợp, tho SQL có thể hơi chậm, vì bạn khá nhiều phải có một ID, chọn một ID vv. Chúng ta đã làm việc này bằng cách tạo một bảng tạm thời (chỉ với hàng ID trong đó) và chèn số lượng lớn từ một tệp (đó là đầu ra từ lucene) rồi tham gia vào bảng thông báo. Nhanh hơn rất nhiều.
Lucene không hoàn hảo, và bạn phải suy nghĩ một chút bên ngoài hộp cơ sở dữ liệu quan hệ, vì nó HOÀN TOÀN không phải là một, nhưng nó rất rất tốt ở những gì nó làm. Đáng xem, và, tôi đã nói, không có "oops, xin lỗi, bạn cần phải xây dựng lại chỉ số của bạn một lần nữa" vấn đề mà MS SQL của FTI nào.
BTW, chúng tôi đã xử lý 20-50 triệu email (và khoảng 1 triệu tệp đính kèm duy nhất), tổng cộng khoảng 20GB chỉ mục lucene tôi nghĩ và 250 + GB cơ sở dữ liệu SQL + tệp đính kèm.
Hiệu suất thật tuyệt vời, để nói ít nhất - chỉ cần đảm bảo bạn suy nghĩ và tinh chỉnh các yếu tố hợp nhất của bạn (khi hợp nhất các phân đoạn chỉ mục). Không có vấn đề gì trong việc có nhiều phân đoạn, nhưng có thể có vấn đề LỚN nếu bạn cố gắng hợp nhất hai đoạn có các mục 1mil trong mỗi đoạn và bạn có một chuỗi người theo dõi sẽ giết quá trình nếu mất quá nhiều thời gian ... .. (vâng, điều đó đã đá vào mông của chúng tôi một lúc). Vì vậy, giữ số lượng tài liệu tối đa cho mỗi thinggie LOW (nghĩa là, không đặt nó thành maxint như chúng tôi đã làm!)
EDIT Corey Trager ghi lại cách sử dụng Lucene.NET trong BugTracker.NET here.
Nguồn
2008-08-31 22:11:33
Tôi cũng đã thêm hỗ trợ lập chỉ mục toàn văn cho thư viện Simple Savant cho Amazon SimpleDB sử dụng Lucene.NET. Kiến trúc được mô tả ở đây: http://simplesavant.codeplex.com/wikipage?title=Full-Text%20Indexing&referringTitle=Documentation –