lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael McCandless <>
Subject Re: Lucene 2.9 and deprecated methods
Date Sat, 03 Oct 2009 09:35:20 GMT
On Fri, Oct 2, 2009 at 10:18 PM, Earwin Burrfoot <> wrote:
>> Call me old fashioned, but I like how the non constructor params are set
>> now.
> And what happens when you index some docs, change these params, index
> more docs, change params, commit? Let's throw in some threads?
> You either end up writing really hairy state control code, or just
> leave it broken, with "Don't change parameters after you start pumping
> docs through it!" plea covering your back somewhere in JavaDocs.
> If nothing else, having stuff 'final' keeps JIT really happy.

This is a good point: are you allowed to change config settings after
creating your IndexWriter/Reader?

Today it's ad hoc.

EG IW does not allow you to swap out your deletion policy, because
it'd be a nightmare to implement.  You also can't swap the analyzer.
But it does let you change your RAM buffer size, CFS or not, merge
factor, etc.  We can remove that flexibility (I'm not sure it's
compelling), so we can make things final.  You can't change read-only
after opening your IndexReader.  I think it'd make sense to move away
from changing settings after construction...

But: the "do we disallow changing config settings after construction?"
question is really orthogonal to the "what syntax do we use for
construction?" (builder vs config vs zillions-of-ctors).


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

View raw message