Выгружать индекс на диск не самая плохая идея, у идеи работает же. Возможно стоит со структурами данных поиграться (например b+-tree лучше выгружается на диск, чем хешмапа). Придумать предикшон того, что понадобится.
В целом это обычный набор методов оптимизации kv-хранилищ