Depende muito dos dados que você está indexando, da forma com que você está indexando, e da própria search engine.

Por exemplo: tenho num elasticsearch (não é um cluster, apenas um nó master) um indice de cidades em todo o mundo, com 3MM+ de cidades.

O nome da cidade é indexado com diversas variações, usando a estratégia n-gram para fazer o autocomplete e outra estratégias.

então uma cidade chamada crato é indexada internamente com as seguintes variacoes:

cra
crat
crato
c(a-z)a
cr(a-z)
...

ou seja, para tornar mais rapida a busca, você indexa diversos termos que apontam para um só documento (cidade).

Isso deixa o storage relativamente grande em relação a base de dados original.

Nesse caso, a minha tabela de cidades no banco de dados tem ~1.5GB, enquanto o elasticsearch ocupa ~8GB.

Acho 2TB um número muito alto, que só é atingido com uma quantidade muito grande de dados.