I have several related questions about migration, at the file format level.
1. Having gotten my 3.x codebase working with 4.x APIs, is it OK just to open existing files created by 3.x and keep on indexing? The answer appears to be yes, with some performance hit, per http://lucene.apache.org/core/4_0_0/changes/Changes.html#4.0.0-alpha.changes_in_backwards_compatibility_policy . 2. Having written some indexes with 4.x, is it OK to open and use them with 3.x? The answer appears to be no, by testing and inference from e.g. http://lucene.apache.org/core/4_0_0/core/org/apache/lucene/codecs/lucene40/package-summary.html#package_description . 3. My codebase is a library, so I cannot stop people from using e.g. maven exclusions to pick their own favorite version of Lucene (and they often do, since lots of different libraries use Lucene). This, combined with #2 above, creates a problem. Is there a recommended way to *detect* that an index was created with an incompatibly-newer version of Lucene? 4. It seems like the answers to these questions would be important to ... everybody upgrading Lucene, ever. I expected to find the answers at http://lucene.apache.org/core/4_0_0/MIGRATE.html. The fact that others don't seem to have these issues makes me think I am missing some key fact or piece of documentation. If so, please edify me. Thanks! Stu
