I should add that SimilarityFactory.normalizeSPIname() is misnamed - there's no SPI happening for similarity factories - but I had copied the implementation verbatim from IndexSchema, where it's used for analysis factory serialization, and where SPI *is* used.
Steve On Mar 25, 2013, at 1:08 AM, Steve Rowe <[email protected]> wrote: > Robert, > > It's used to serialize similarity factories. See getNamedPropertyValues() > just below. > > There are tests for similarity factory classes of the form > "solr.<SimpleFactoryClassName>", e.g. TestSweetSpotSimilarityFactory, which > uses solr/core/src/test-files/solr/collection1/conf/schema-sweetspot.xml, > which declares: > > <similarity class="solr.SchemaSimilarityFactory"/> > > When you say "that's not even the package where our similarity factories go", > to which package are you referring? > > See IndexSchema.readSimilarity() for how it can work. > > Steve > > On Mar 25, 2013, at 12:44 AM, Robert Muir <[email protected]> wrote: > >> On Mon, Mar 25, 2013 at 12:29 AM, <[email protected]> wrote: >>> >>> Modified: >>> lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/SimilarityFactory.java >>> URL: >>> http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/SimilarityFactory.java?rev=1460519&r1=1460518&r2=1460519&view=diff >>> ============================================================================== >>> --- >>> lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/SimilarityFactory.java >>> (original) >>> +++ >>> lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/SimilarityFactory.java >>> Mon Mar 25 04:29:33 2013 >>> + >>> + private static String normalizeSPIname(String fullyQualifiedName) { >>> + if (fullyQualifiedName.startsWith("org.apache.lucene.") || >>> fullyQualifiedName.startsWith("org.apache.solr.")) { >>> + return "solr" + >>> fullyQualifiedName.substring(fullyQualifiedName.lastIndexOf('.')); >>> + } >> >> I dont know what this is used for: but i don't see how it can be >> correct. Thats not even the package where our similarity factories >> go... and i think if you normalize this and then try to go back, it >> wont work. >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
