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

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: u...@thetaphi.de

> -----Original Message-----
> From: Sanne Grinovero [mailto:sanne.grinov...@gmail.com]
> Sent: Sunday, February 07, 2010 6:33 PM
> To: java-dev@lucene.apache.org
> 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: java-dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-dev-h...@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to