Tôi nghĩ rằng bạn đã làm hỏng một số điều trong câu hỏi của bạn. Lucene (tôi không biết gì về Lucene, NET, nhưng tôi cho là giống nhau) là một thư viện được sử dụng để phân tích, phân tách mã thông báo và lưu trữ tài liệu để có thể truy vấn và truy xuất chúng sau này. Lucene có một mô hình khá cũ nhưng hiệu quả, nó sử dụng các cây đảo ngược để tìm và lấy tài liệu. Không có thêm thông tin chi tiết, tất cả các tài liệu được chia thành các mã thông báo (thuật ngữ) và cho mỗi thuật ngữ được duy trì cấu trúc dữ liệu, lưu trữ tất cả các tài liệu có chứa thuật ngữ đã cho. Vì cấu trúc dữ liệu có thể được sử dụng BTree, bảng băm và trong các phiên bản chính mới nhất, bạn thậm chí có thể cắm vào cấu trúc dữ liệu của riêng mình.
Một BTree (xem trang Wikipedia để biết thêm chi tiết), là một loại cấu trúc dữ liệu cây, thích hợp để làm việc với các khối dữ liệu lớn và thường được sử dụng để lưu trữ các cấu trúc giống như cây trên đĩa. Đối với trong bộ nhớ, cây khác hoạt động tốt hơn.
Hàm băm Murmur (xem trang Wikipedia để biết thêm chi tiết), là một nhóm các hàm băm được sử dụng trong bảng băm. Việc thực hiện bảng băm không quan trọng, nó có thể là một triển khai chuỗi tiêu chuẩn hoặc sơ đồ địa chỉ băm mở nâng cao hơn. Ý tưởng là các bảng băm cho phép một người nhận được một khóa nhanh, từ một bộ khóa không có thứ tự và có thể trả lời các tác vụ như: đây có phải là một phần của bộ khóa này không? giá trị liên quan đến khóa này là gì?
Bây giờ trở lại vấn đề chính của bạn. Bạn có một thư viện (Lucene) và với các cấu trúc dữ liệu, cả hai cấu trúc dữ liệu đều được sử dụng trong Lucene. Bây giờ bạn thấy rằng không thể trả lời câu hỏi của bạn trong các điều khoản này vì chúng không thể so sánh được.
Tuy nhiên, liên quan đến bạn dấu chân và phần hiệu suất của câu hỏi. Trước hết bạn phải biết loại hoạt động nào bạn cần thực hiện.
Bạn chỉ cần nhận giá trị cho khóa, hay bạn cần tìm tất cả các yếu tố trong một phạm vi? Nói cách khác bạn có cần đặt hàng hay không? Nếu bạn làm, hơn một cái cây có thể giúp đỡ. Nếu bạn không, hơn một bảng băm, nhanh hơn có thể được sử dụng thay thế.
Bạn có nhiều dữ liệu không phù hợp với bộ nhớ không? Nếu có hơn một giải pháp dựa trên đĩa sẽ có ích (như BTree). Nếu dữ liệu của bạn phù hợp với bộ nhớ, hơn là sử dụng giải pháp trong bộ nhớ nhanh nhất và chỉ sử dụng đĩa làm bộ lưu trữ (với cấu trúc khác, đơn giản hơn nhiều).