You don't really "need" to call optimize at all... but it will optimize the read performance if you do it after a big phase of insertions, before heading into a phase where you query the index. Usually batch insertions consists of insertions of a lot of nodes (and indexing for those nodes) and then when it's time to create relationships: optimize the index, then do all your queries on it. Merging of index files (which optimize() will do very heavily) happens automatically in the background anyway when you insert stuff.
2011/2/14 Pablo Pareja <[email protected]> > I just got an exception when calling to > > indexService.optimize(); > > java.io.IOException: background merge hit exception: _u6:c10863150 > _u7:c20000->_u7 into _u8 [optimize] [mergeDocStores] > > neo4j.index.lucene.LuceneIndexBatchInserterImpl.optimize(LuceneIndexBatchInserterImpl.java:273) > > any ideas? > > I'm calling the optimize() method once per ~ 30.000 indexations, is it > that > too much/few ? > are you supposed to call this method always between an indexation and a > query on that index? > > Cheers, > > Pablo > > -- > Pablo Pareja Tobes > LinkedIn http://www.linkedin.com/in/pabloparejatobes > Twitter http://www.twitter.com/pablopareja > > http://www.ohnosequences.com > _______________________________________________ > Neo4j mailing list > [email protected] > https://lists.neo4j.org/mailman/listinfo/user > -- Mattias Persson, [[email protected]] Hacker, Neo Technology www.neotechnology.com _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

