Думаю, ти заплутав деякі речі у своєму питанні. Lucene (я нічого не знаю про Lucene, NET, але я припускаю, що це те саме) - це бібліотека, яка використовується для аналізу, розбиття в маркерах та зберігання документів, щоб пізніше можна було їх запитувати та отримувати. У Lucene є досить стара, але ефективна модель, вона використовує перевернуті дерева для пошуку та отримання документів. Без додаткових деталей усі документи розбиваються на лексеми (терміни), і для кожного терміну зберігається структура даних, в якій зберігаються всі документи, що містять даний термін. В якості структури даних можна використовувати BTree, хеш-таблицю, а в останніх великих редакціях ви навіть можете підключити власні структури даних.
BTree (див. Сторінку Вікіпедії для отримання більш детальної інформації) - це структура структури даних про дерево, яка підходить для роботи з великими фрагментами даних і часто використовується для зберігання впорядкованих деревом структур на диску. Для пам'яті інші дерева працюють краще.
Мурмурський хеш (детальнішу інформацію див. На сторінці Вікіпедії ) - це сімейство хеш-функцій, що використовуються в хеш-таблиці. Реалізація хеш-таблиці не важлива, це може бути стандартна ланцюгова реалізація або більш вдосконалена схема відкритого хеш-адреси. Ідея полягає в тому, що хеш-таблиці дозволяють отримати швидкий ключ із невпорядкованого набору клавіш і може відповідати на такі завдання, як: це ключова частина цього набору ключів? яке значення пов'язане з цим ключем?
Тепер повернемося до вашої основної проблеми. У вас є одна бібліотека (Lucene), а для структур даних обидві структури даних використовуються в Lucene. Тепер ви бачите, що відповісти на ваше запитання в цих умовах неможливо, оскільки вони не порівнянні.
Однак, щодо вашого сліду та результативності частина питання. Перш за все, ви повинні знати, які саме операції потрібно здійснити.
Вам потрібно лише отримати значення для ключа, або вам потрібно знайти всі елементи в діапазоні? Іншими словами, вам потрібен порядок чи ні? Якщо так, то дерево може допомогти. Якщо ви цього не зробите, то хеш-таблицю, яка швидше може бути використана натомість.
Чи є у вас багато даних, які не відповідають пам’яті? Якщо так, то допоможе рішення на основі диска (наприклад, BTree). Якщо ваші дані відповідають пам’яті, тоді використовуйте найшвидше рішення в пам’яті і використовуйте диск лише як сховище (з іншою структурою, набагато простіше).