: For full reindexes (DIH full-import), I use build cores, then swap them with
: the live cores.  I don't do this for performance reasons, I do it because I
: want to continue making incremental updates to the live cores while the
: rebuild is underway.  The rebuild takes four hours.

that's kind of a special case though -- the OP mentioned that the entire 
reason he does full rebuilds is because he has no way of inrementally 
tracking changes to his source data, so he's clearly not going to be 
making incremental updates to a "live" core.

in the simpler case of "rebuild the full index ever N hours, never to 
incremental updates" a simple master/slave setup is probably the easiest 
-- with a single "snappull" command being triggered once you know the full 
index is build.

If you only have one machine to work with, then another simple appropach 
is just use a single solr core, and rebuild ontop of your existing data 
every N hours.  You can use a "timestamp" field to keep track of when 
documents were added and do a deleteByQuery on the timestamp field at the 
end of teh "rebuild" to remove any old documents (ie: things no longer in 
your source data)

as long as you don't commit until the end of your "rebuild" you don't need 
to worry about inconsistent data, and you should wind up using less 
resources then the core swapping approach.

-Hoss

Reply via email to