Hi,

Wanted to explain my situation in more detail.

I have a master which never adds or deletes documents incrementally.  I just 
run 
the dataimport with autocommit.

Seems like I'll need to make a custom DeletionPolicy to keep more than one 
index 
around.

I'm accessing indices from Solr.  How do I tell solr to use a particular index?

Thanks,

Tri




________________________________
From: Michael McCandless <luc...@mikemccandless.com>
To: solr-user@lucene.apache.org
Sent: Tue, February 15, 2011 5:36:49 AM
Subject: Re: rollback to other versions of index

Lucene is able to do this, if you make a custom DeletionPolicy (which
controls when commit points are deleted).

By default Lucene only saves the most recent commit
(KeepOnlyLastCommitDeletionPolicy), but if your policy keeps more
around, then you can open an IndexReader or IndexWriter on any
IndexCommit.

Any changes (including optimize, and even opening a new IW with
create=true) are safe within a commit; Lucene is fully transactional.

For example, I use this for benchmarking: I save 4 commit points in a
single index.  First is a multi-segment index, second is the same
index with 5% deletions, third is an optimized index, and fourth is
the optimized index with 5% deletions.  This gives me a single index
w/ 4 different commit points, so I can then benchmark searching
against any of those 4.

Mike

On Tue, Feb 15, 2011 at 4:43 AM, Jan Høydahl <jan....@cominvent.com> wrote:
> Yes and no. The index grows like an onion adding new segments for each commit.
> There is no API to remove the newly added segments, but I guess you could 
> hack 
>something.
> The other problem is that as soon as you trigger an optimize() all history is 
>gone as the segments are merged into one. Optimize normally happens 
>automatically behind the scenes. You could turn off merging but that will 
>badly 
>hurt your performance after some time and ultimately crash your OS.
>
> Since you only need a few versions back, you COULD write your own custom 
>mergePolicy, always preserving at least N versions. But beware that a 
>"version" 
>may be ONE document or 10000 documents, depending on how you commit or if 
>autoCommit is active. so if you go this route you also need strict control 
>over 
>your commits.
>
> Perhaps best option is to handle this on feeding client side, where you keep 
> a 
>buffer of N last docs. Then you can freely roll back or re-index as you 
>choose, 
>based on time, number of docs etc.
>
> --
> Jan Høydahl, search solution architect
> Cominvent AS - www.cominvent.com
>
> On 15. feb. 2011, at 01.21, Tri Nguyen wrote:
>
>> Hi,
>>
>> Does solr version each index build?
>>
>> We'd like to be able to rollback to not just a previous version but maybe a 
>few
>> version before the current one.
>>
>> Thanks,
>>
>> Tri
>
>

Reply via email to