lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael McCandless <>
Subject Re: Lucene's default settings & back compatibility
Date Thu, 21 May 2009 21:02:31 GMT
On Thu, May 21, 2009 at 4:34 PM, Shai Erera <> wrote:

> Changes to the index file formats need to be supported for 2 major releases. I.e. 2.X
indexes need to be read by 3.Y code, but not by 4.0.


> Method deprecations last for one full minor release.

Your example confused me.  I think if in 2.1 we deprecate a method,
then in 2.2 we can remove it?  Or are you saying it's not until 2.3 that
we can remove it (2 full minor releases)?

> What I don't like about actsAs, and perhaps I just don't understand the proposal well,
is that I'm not sure where it's added. Will it be added to IndexWriter, which will pass it
on to all the classes it will meet/use?

We would add say oal.Versions class, that has a static actsAs
method and static constants.  If back-compat is vital to your app
you'd do:


on upgrading to 2.9.  Else, you do nothing to get "latest &

You call this once in your app up front, and then use Lucene
normally.  Then, when IndexSearcher is asked to do field sorting, it
consults actsAs to decide whether it should do scoring or not.

> Changes to default behaviors, bug fixes or improvements, that may compromise the index
structure or indexed data (such as InvalidAcronym) will last for at least one major release,
if not 2

I think this harms new users unnecessarily (ie, I'd rather do actsAs
than this).  I'd like StopFilter to not discard positional
information, fixes for bugs in StandardAnalyzer, and
a correction to the default stopwords list, to be immediately available
for new users on the next release.

Why not store an "actsAs" in the index, just for the changes that
affect what's in the index?  Ie the index records the
version that created it, and by default TokenStreams emulate their
behavior as of that version?


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message