On Tue, 20 Jul 2010, Thomas Koch wrote:

Porting your stuff to Lucene 3.0 is recommended...

[Thomas Koch] That's what I'm supposed to do next: port our PyLucene code to
some "up-to-date" release - our codebase is still on PyLucene 2.6 and I
expect it to break with the 3.x release ...

With that in mind: is it still worth looking at/supporting PyLucene 2.x or
do you suggest to switch to 3.x directly?

PyLucene is coordinating its releases and support with Lucene Java. As long as Lucene Java is making 2.x releases, I see no reason to not do so as well for PyLucene 2.x.

I understand that Lucene 2.x is Java1.4 compatible and Lucene 3.x makes use
of Java5 generics. Is it still API compatible or a complete new branch?

Lucene Java has a policy to only break API compatibility when making major releases as when going from 2.x to 3.x. They sure did so for 3.0 and the Lucene Java 2.9.x release series is the one where both APIs are supported but with the obsolete 2.x APIs marked as deprecated.

In Lucene Java 3.0, they've removed all the APIs thus deprecated in 2.x. The point they're making, and rightly so, is that before upgrading to 3.x, be sure that you're not using any deprecated APIs by using the java compiler deprecation warnings as canari. Only then should you upgrade to 3.x. I realize that PyLucene doesn't make that easy because it doesn't warn about deprecated API use.

One thing I could add to JCC is a command line flag to _not_ wrap any deprecated APIs. With that applied to PyLucene, one could then find all errors they'd be hitting when upgrading to 3.x. That being said, I don't see the difference between this and just upgrading to 3.x and looking for the very same errors since, by definition, 3.0 == 2.9 - deprecations. This explains why I haven't implemented this feature so far.

Andi..


Regards
Thomas




Reply via email to