On Fri, Oct 2, 2009 at 10:18 PM, Earwin Burrfoot <ear...@gmail.com> 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). Mike --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org