[ 
https://issues.apache.org/jira/browse/LUCENE-3082?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-3082:
----------------------------------

    Description: 
Currently if you want to upgrade an old index to the format of your current 
Lucene version, you have to optimize your index or use 
addIndexes(IndexReader...) [see LUCENE-2893] to copy to a new directory. The 
optimize() approach fails if your index is already optimized.

I propose to add a custom MergePolicy to upgrade all segments to the last 
format. This MergePolicy could simply also ignore all segments already 
up-to-date. All segments in prior formats would be merged to a new segment 
using another MergePolicy's optimize strategy.

This issue is different from LUCENE-2893, as it would only support upgrading 
indexes from previous Lucene versions in-place using the official path. Its a 
tool for the end user, not a developer tool.

This addition should also go to Lucene 3.x, as we need to make users with 
pre-3.0 indexes go the step through 3.x, else they would not be able to open 
their index with 4.0. With this tool in 3.x the users could safely upgrade 
their index without relying on optimize to work on already-optimized indexes.

  was:
Currently if you want to upgrade an old index to the format of your current 
Lucene version, you have to optimize your index or use 
addIndexes(IndexReader...) [see LUCENE-2893] to copy to a new directory. The 
optimize() approach fails if your index is already optimized.

I propose to add a method to IndexWriter thats similar to optimize(), that uses 
a custom MergePolicy to upgrade all segments to the last format. This 
MergePolicy could simply also ignore all segments already up-to-date. All 
segments in prior formats would be merged to a new segment. The tool could 
optionally also optimize the index.

This issue is different from LUCENE-2893, as it would only support upgrading 
indexes from previous Lucene versions in-place using the official path. Its a 
tool for the end user, not a developer tool.

This addition should also go to Lucene 3.x, as we need to make users with 
pre-3.0 indexes go the step through 3.x, else they would not be able to open 
their index with 4.0. With this tool in 3.x the users could safely upgrade 
their index without relying on optimize to work on already-optimized indexes.

        Summary: Add tool to upgrade all segments of an index to last recent 
supported index format without optimizing  (was: Add index upgrade method to 
IndexWriter to force an upgrade of all segments to last recent supported index 
format without optimizing)

> Add tool to upgrade all segments of an index to last recent supported index 
> format without optimizing
> -----------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-3082
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3082
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: Index
>            Reporter: Uwe Schindler
>            Priority: Minor
>             Fix For: 3.2, 4.0
>
>         Attachments: LUCENE-3082.patch, LUCENE-3082.patch, LUCENE-3082.patch, 
> LUCENE-3082.patch, index.31.optimized.cfs.zip, index.31.optimized.nocfs.zip
>
>
> Currently if you want to upgrade an old index to the format of your current 
> Lucene version, you have to optimize your index or use 
> addIndexes(IndexReader...) [see LUCENE-2893] to copy to a new directory. The 
> optimize() approach fails if your index is already optimized.
> I propose to add a custom MergePolicy to upgrade all segments to the last 
> format. This MergePolicy could simply also ignore all segments already 
> up-to-date. All segments in prior formats would be merged to a new segment 
> using another MergePolicy's optimize strategy.
> This issue is different from LUCENE-2893, as it would only support upgrading 
> indexes from previous Lucene versions in-place using the official path. Its a 
> tool for the end user, not a developer tool.
> This addition should also go to Lucene 3.x, as we need to make users with 
> pre-3.0 indexes go the step through 3.x, else they would not be able to open 
> their index with 4.0. With this tool in 3.x the users could safely upgrade 
> their index without relying on optimize to work on already-optimized indexes.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to