On Wed, May 19, 2010 at 4:57 PM, Chris Hostetter <[email protected]> wrote: > > : 1. Solr, like Lucene, should be able to work with an older analyzers > : module for backwards compatibility purposes. > > While i don't disagree with you, Solr "philosiphy" has generally > discouraged the use of "Analyzer" classes in favor of more more discreet > Tokenizer & TokenFilter pieces --
I am sorry for the confusing terminology I used, when I say "analyzer" for Solr, I refer to the one created from the schema definition. I should have said, "analysis components". In this model if the factories and the tokenstreams are in a versioned jar file, its going to produce the same results they had before (thus backwards compat). I didnt mean to refer to actually instantiating a definition from a lucene Analyzer proper, but this too would also work, because its in the same versioned jar file... in short, all analysis components in one place. > Just to be clear: what you are suggesting is that module-analyzer-XXX.jar > artifact of modules/analyzers/XXX should not only contain the Tokenizers & > TokenFilters that relate to XXX, but also the Factories solr expects to > initialize them -- so a user only needs to add that > module-analyzer-XXX.jar to their Solr lib dir to get all the > functionality, instead of needing module-analyzer-XXX.jar plus some > solr-analyzer-XXX-glue.jar > > ...am i understanding that correctly? Yes, this is what I propose. All tokenstreams and tokenfilters will of course have backwards compatibility across minor releases at least, but these factories give us some additional flexibility in how we preserve that backwards compatibility for Solr. For example in a major release we might remove a deprecated TokenStream alltogether, but by having the factories also, we can keep continuity for Solr schemas (just change the implementation). They also give us the capability to emit warnings and such about deprecations, and other things that we need. -- Robert Muir [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
