On Fri, May 22, 2009 at 2:27 PM, DM Smith <dmsmith...@gmail.com> wrote: > Marvin Humphrey wrote: >>> >>> I feel the opposite: I'd like new users to see improvements by >>> default, and users that require strict back-compate to ask for that. >>> >> >> By "strict back-compat", do you mean "people who would like their search >> app to >> not fail silently"? ;) A "new user" who follows your advice... >> >> // haha stupid noob StandardAnalyzer analyzer = new >> StandardAnalyzer(Versons.LATEST); >> >> ... is going to get screwed when the default tokenization behavior >> changes. >> And it would be much worse if we follow my preference for making the arg >> optional without following my preference for keeping defaults intact: >> >> // haha eat it luser StandardAnalyzer analyzer = new >> StandardAnalyzer(); >> >> It's either make the arg mandatory when changing default behavior and >> recommend that new users pass a fixed argument, or make it optional but >> keep >> defaults intact between major releases. > > I think I see your point: A new user is such only for the first release that > they use Lucene. For a first use, there is no backward compatibility > problem. On the use of a subsequent release, their code still gets the > latest and greatest and now by the choice they were guided to make, they may > have broken backward compatibility. > > So for any user, the only save, thus acceptable use is to never have > Versions.LATEST, but only a specific version.
Right, we would have to not provide Versions.LATEST, ie if you want latest, you'd pick Versions.LUCENE_29 (in 2.9). Mike --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org