lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sanne Grinovero <sanne.grinov...@gmail.com>
Subject Re: Having a default constructor in Analyzers
Date Sun, 07 Feb 2010 19:17:33 GMT
Thanks for all the quick answers;

finding the ctor having only a Version parameter is fine for me, I had
noticed this "frequent pattern" but didn't understand that was a
general rule.
So can I assume this is an implicit contract for all Analyzers, to
have either an empty ctor or a single-parameter of type Version?

I know about the dangers of using LUCENE_CURRENT, but rebuilding the
index is not always something you need to avoid.
Having LUCENE_CURRENT is for example useful for me to test Hibernate
Search towards the current Lucene on classpath, without having to
rebuild the code.

thanks for all help,
Sanne


2010/2/7 Robert Muir <rcmuir@gmail.com>:
> I propose we remove LUCENE_CURRENT completely, as soon as TEST_VERSION is
> done.
>
> On Sun, Feb 7, 2010 at 12:53 PM, Uwe Schindler <uwe@thetaphi.de> wrote:
>>
>> 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: uwe@thetaphi.de
>>
>> > -----Original Message-----
>> > From: Sanne Grinovero [mailto:sanne.grinovero@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-unsubscribe@lucene.apache.org
>> > For additional commands, e-mail: java-dev-help@lucene.apache.org
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-dev-help@lucene.apache.org
>>
>
>
>
> --
> Robert Muir
> rcmuir@gmail.com
>

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


Mime
View raw message