Eu acho que você estragou algumas coisas na sua pergunta. O Lucene (não sei nada sobre o Lucene, NET, mas suponho que seja o mesmo) é uma biblioteca usada para analisar, dividir em tokens e armazenar documentos para poder consultá-los e recuperá-los mais tarde. O Lucene tem um modelo bastante antigo, mas eficaz, que usa árvores invertidas para encontrar e recuperar documentos. Sem mais detalhes, todos os documentos são divididos em tokens (termos) e, para cada termo, é mantida uma estrutura de dados, que armazena todos os documentos que contêm o termo especificado. Como uma estrutura de dados pode ser usada, o BTree, uma tabela de hash e, nas principais revisões mais recentes, você pode até conectar suas próprias estruturas de dados.
Um BTree (consulte a página da Wikipedia para obter mais detalhes), é um tipo de estrutura de dados em árvore, apropriado para trabalhar com grandes blocos de dados e geralmente é usado para armazenar estruturas ordenadas em forma de árvore no disco. Na memória, outras árvores têm melhor desempenho.
Murmur hash (consulte a página da Wikipedia para obter mais detalhes), é uma família de funções de hash usadas na tabela de hash. A implementação da tabela de hash não é importante, pode ser uma implementação em cadeia padrão ou um esquema de endereçamento de hash aberto mais avançado. A idéia é que as tabelas de hash permitem obter uma chave rapidamente, a partir de um conjunto não ordenado de chaves, e podem responder a tarefas como: essa chave faz parte desse conjunto de chaves? qual é o valor associado a essa chave?
Agora, de volta ao seu principal problema. Você tem uma biblioteca (Lucene) e, para estruturas de dados, ambas as estruturas de dados são usadas no Lucene. Agora você vê que não é possível responder sua pergunta nesses termos, pois eles não são comparáveis.
No entanto, em relação à sua pegada e desempenho, parte da questão. Antes de tudo, você precisa saber que tipo de operações você precisa implementar.
Você só precisa obter valor para a chave ou precisa encontrar todos os elementos em um intervalo? Em outras palavras, você precisa de ordem ou não? Se você fizer isso, uma árvore pode ajudar. Caso contrário, uma tabela de hash, que é mais rápida, pode ser usada.
Você tem muitos dados que não cabem na memória? Se sim, uma solução baseada em disco ajudaria (como o BTree). Se seus dados cabem na memória, use a solução mais rápida na memória e use o disco apenas como armazenamento (com uma estrutura diferente, muito mais simples).