Index building performance fulltext vs schema

I'm trying to index a unique string property on ~170M nodes. I've noticed that building a native (B-tree) index takes a very long time (several hours), but building a fulltext (Lucene) index takes around 40 minutes. For my use case I'd prefer the schema index since I don't need full-text search, but I'm leaning towards using the fulltext index because of the slow build schema index time.

Is there any way to improve the index build for B-tree indices? I don't need any kind of transactional integrity for building this index, since it's running right after a bulk import and before any read queries arrive.


what version of Neo4j? There were improvements to index population performances in recent patches so you will want to make sure you are on a current release? 3.5.6 for example

Thanks for your reply. I'm using 3.5.5 -- I'll give 3.5.6 a shot tomorrow

3.5.6 does seem significantly faster. It looks like it will finish in around 2.5 hours, which isn't great, but I can probably work with it for now

I also saw it mentioned here that the Dorg.neo4j.kernel.impl.index.schema.GenericNativeIndexPopulator.blockBasedPopulation=true setting might speed things up. Do you think that's worth trying?