lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Willnauer <>
Subject Re: recommended way to identify a version to pass to StandardAnalyzer constructor?
Date Fri, 17 Sep 2010 07:15:37 GMT
Hey Bill,
let me clarify what Version is used for since I think that caused
little confusion. The Version constant was mainly introduced to help
users with backwards compatibility and upgrading their codebase to a
new version of lucene without breaking existing applications / indexes
build with previous versions. For instance StandardAnalyzer preserves
the positionIncrement in its StopFilter which was introduces in Lucene
2.9. If you use 2.4 and upgrade to 2.9 this change might break you app
since you indexed with a 2.4 behavior. You phrasequeries might not
work as expected anymore. If you don't have any upgrade issues or if
you can simply reindex you might just use the latest version. Some
usecases might require somewhat "buggy" behavior which has been fixed
in various places in lucene but must be maintained because of
backwards compatibility this is also done by Version.
If a certain class like IndexWriter / IndexReader have maintained
compatibility without a Version constant so there is no need to pass
it to them. You will be implicitly on the latest version.

Btw. you can also mix version as you like.

hope that helps

On Thu, Sep 16, 2010 at 11:39 PM, Bill Janssen <> wrote:
> So, in version 3, I have to pass a version parameter to the constructor
> for StandardAnalyzer.  Since Version.LUCENE_CURRENT is deprecated, I'd
> like this to be the same as the version of the index I'm using.  Is
> there a way of getting a value of Version for an index?  I don't see
> obvious methods on IndexReader and IndexWriter.
> Bill
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

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

View raw message