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]

Reply via email to