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

Reply via email to