lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler" <>
Subject RE: Having a default constructor in Analyzers
Date Sun, 07 Feb 2010 17:53:44 GMT
Hi Sanne,

Exactly that usage we want to prevent. Using Version.LUCENE_CURRENT is the badest thing you
can do if you want to later update your Lucene version and do not want to reindex all your
indexes (see javadocs).

It is easy to modify your application to create analyzers even from config files using the
reflection way. Just find a constructor taking Version and call newInstance() on it, not directly
on the Class. It's just one line of code more.


Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen

> -----Original Message-----
> From: Sanne Grinovero []
> Sent: Sunday, February 07, 2010 6:33 PM
> To:
> Subject: Having a default constructor in Analyzers
> Hello,
> I've seen that some core Analyzers are now missing a default
> constructor; this is preventing many applications to configure/load
> Analyzers by reflection, which is a common use case to have Analyzers
> chosen in configuration files.
> Would it be possible to add, for example, a constructor like
> public StandardAnalyzer() {
>    this(Version.LUCENE_CURRENT);
> }
> ?
> Of course more advanced use cases would need to pass parameters but
> please make the advanced usage optional; I have now seen more than a
> single project break because of this (and revert to older Lucene).
> Regards,
> Sanne
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

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

View raw message