My approach is to create a separate element for each index entry, rather than creating a single element that then contains all the index entries as shown in the index construction example in the docs.
You mean you don’t group the nodes by the index key, as shown in the docs? That should be fine as well. If the entries are grouped, a single element may get larger, but the overall number of nodes to be added or replaced will be smaller. If single entries need to be updated in your scenario (e.g. because the key changes), grouping might not be the solution, though.
There are usually various solutions for achieving the same goal. The presented example is fairly simple indeed (most or our index structures in real-world applications are certainly more complex). I guess that 16 GB should be more than sufficient for a 70 MB index database, but feel free to share your experiences.