Now when I load the data and start the neo4j server, the initial RAM increases upto 32GB, which is reasonable because of the heap size. But when I index a column from node CSV (it contains integers ranging from 1-4):
CREATE INDEX word FOR (t:TOK) ON (t.word);
The RAM boosts upto ~ 65 GB. Now when I index other columns with the same datatype, the RAM increases only by 3 gigs or less, for each and every new column.
I tried changing the order in which I was indexing the columns, but the general pattern is that the 1st index occupies maximum RAM, while the next ones take significantly less.
Now here are my questions:
What performance implications does the amount of memory allocated has on my indexed data?
How does neo4j decide the amount of memory it allocates for the indexes?
What's the best approach to optimally distribute the memory among various indexes?