[ https://issues.apache.org/jira/browse/SOLR-13593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16878294#comment-16878294 ]
Tomoko Uchida commented on SOLR-13593: -------------------------------------- I started playing with {{FieldTypePluginLoader}} and noticed that the "name" attribute is reserved as Solr's plugin name. Instead of messing up the code, I would like to introduce new attribute "spi" (there could be more appropriate one?). {code:xml} <fieldtype name="myfieldtype" class="solr.TextField"> <analyzer> <tokenizer spi="whitespace"/> <filter spi="keywordMarker" protected="protwords.txt" /> <filter spi="porterStem" /> </analyzer> </fieldtype> {code} Other than that, it seems straightforward to load the factories via the SPI names - add a new method to {{AbstractPluginLoader}} to create the new plugin instance by spi name, and override it in {{FieldTypePluginLoader#readAnalyzer(Node)}}. > Allow to specify analyzer components by their SPI names in schema definition > ---------------------------------------------------------------------------- > > Key: SOLR-13593 > URL: https://issues.apache.org/jira/browse/SOLR-13593 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Schema and Analysis > Reporter: Tomoko Uchida > Priority: Major > > Now each analysis factory has explicitely documented SPI name which is stored > in the static "NAME" field (LUCENE-8778). > Solr uses factories' simple class name in schema definition (like > class="solr.WhitespaceTokenizerFactory"), but we should be able to also use > more concise SPI names (like name="whitespace"). > e.g.: > {code:xml} > <fieldtype name="myfieldtype" class="solr.TextField"> > <analyzer> > <tokenizer class="solr.WhitespaceTokenizerFactory"/> > <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt" > /> > <filter class="solr.PorterStemFilterFactory" /> > </analyzer> > </fieldtype> > {code} > would be > {code:xml} > <fieldtype name="myfieldtype" class="solr.TextField"> > <analyzer> > <tokenizer name="whitespace"/> > <filter name="keywordMarker" protected="protwords.txt" /> > <filter name="porterStem" /> > </analyzer> > </fieldtype> > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org