:-) great solution...will look funny in our production system. Am 17.10.2012 16:12 schrieb "Jack Krupansky" <j...@basetechnology.com>:
> Anybody want to guess what's wrong with this code: > > String maxTokenCountArg = args.get("maxTokenCount"); > if (maxTokenCountArg == null) { > throw new IllegalArgumentException("**maxTokenCount is mandatory."); > } > maxTokenCount = Integer.parseInt(args.get(**maxTokenCountArg)); > > Hmmm... try this "workaround": > > <filter class="solr.**LimitTokenCountFilterFactory" > maxTokenCount="foo" foo="10000"/> > > -- Jack Krupansky > > -----Original Message----- From: Dirk Högemann > Sent: Wednesday, October 17, 2012 11:50 AM > To: solr-user@lucene.apache.org > Subject: solr4.0 LimitTokenCountFilterFactory NumberFormatException > > Hi, > > I am trying to upgrade from Solr 3.5 to Solr 4.0. > I read the following in the example solrconfig: > > <!-- maxFieldLength was removed in 4.0. To get similar behavior, include a > LimitTokenCountFilterFactory in your fieldType definition. E.g. > <filter class="solr.**LimitTokenCountFilterFactory" > maxTokenCount="10000"/> > --> > > I tried that as follows: > > ... > <fieldType name="textgen" class="solr.TextField" > positionIncrementGap="100"> > <analyzer type="index"> > <tokenizer class="solr.**StandardTokenizerFactory"/> > <filter class="solr.**LimitTokenCountFilterFactory" > maxTokenCount="100000"/> > <filter class="solr.**WordDelimiterFilterFactory" > generateWordParts="1" generateNumberParts="1" catenateWords="0" > catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/> > <filter class="solr.**LowerCaseFilterFactory"/> > <filter class="solr.**SnowballPorterFilterFactory" > language="German" > /> > <filter class="solr.StopFilterFactory" ignoreCase="true" > words="stopwords.txt" enablePositionIncrements="**true" /> > <filter class="solr.**RemoveDuplicatesTokenFilterFac**tory" /> > </analyzer> > ... > > The LimitTokenCountFilterFactory configured like that crashes the startup > of the corresponding core with the following exception (without the Factory > the core startup works): > > > 17.10.2012 17:44:19 org.apache.solr.common.**SolrException log > SCHWERWIEGEND: null:org.apache.solr.common.**SolrException: Plugin init > failure for [schema.xml] fieldType "textgen": Plugin init failure for > [schema.xml] analyze > r/filter: null > at > org.apache.solr.util.plugin.**AbstractPluginLoader.load(** > AbstractPluginLoader.java:177) > at > org.apache.solr.schema.**IndexSchema.readSchema(**IndexSchema.java:369) > at org.apache.solr.schema.**IndexSchema.<init>(** > IndexSchema.java:113) > at org.apache.solr.core.**CoreContainer.create(** > CoreContainer.java:846) > at org.apache.solr.core.**CoreContainer.load(** > CoreContainer.java:534) > at org.apache.solr.core.**CoreContainer.load(** > CoreContainer.java:356) > at > org.apache.solr.core.**CoreContainer$Initializer.** > initialize(CoreContainer.java:**308) > at > org.apache.solr.servlet.**SolrDispatchFilter.init(** > SolrDispatchFilter.java:107) > at > org.apache.catalina.core.**ApplicationFilterConfig.**initFilter(** > ApplicationFilterConfig.java:**277) > at > org.apache.catalina.core.**ApplicationFilterConfig.**getFilter(** > ApplicationFilterConfig.java:**258) > at > org.apache.catalina.core.**ApplicationFilterConfig.**setFilterDef(** > ApplicationFilterConfig.java:**382) > at > org.apache.catalina.core.**ApplicationFilterConfig.<init>** > (ApplicationFilterConfig.java:**103) > at > org.apache.catalina.core.**StandardContext.filterStart(** > StandardContext.java:4638) > at > org.apache.catalina.core.**StandardContext.startInternal(** > StandardContext.java:5294) > at > org.apache.catalina.util.**LifecycleBase.start(**LifecycleBase.java:150) > at > org.apache.catalina.core.**ContainerBase.**addChildInternal(** > ContainerBase.java:895) > at > org.apache.catalina.core.**ContainerBase.addChild(** > ContainerBase.java:871) > at > org.apache.catalina.core.**StandardHost.addChild(**StandardHost.java:615) > at > org.apache.catalina.startup.**HostConfig.deployDescriptor(** > HostConfig.java:649) > at > org.apache.catalina.startup.**HostConfig$DeployDescriptor.** > run(HostConfig.java:1581) > at > java.util.concurrent.**Executors$RunnableAdapter.** > call(Executors.java:441) > at > java.util.concurrent.**FutureTask$Sync.innerRun(**FutureTask.java:303) > at java.util.concurrent.**FutureTask.run(FutureTask.**java:138) > at > java.util.concurrent.**ThreadPoolExecutor$Worker.** > runTask(ThreadPoolExecutor.**java:886) > at > java.util.concurrent.**ThreadPoolExecutor$Worker.run(** > ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.**java:662) > Caused by: org.apache.solr.common.**SolrException: Plugin init failure for > [schema.xml] analyzer/filter: null > at > org.apache.solr.util.plugin.**AbstractPluginLoader.load(** > AbstractPluginLoader.java:177) > at > org.apache.solr.schema.**FieldTypePluginLoader.**readAnalyzer(** > FieldTypePluginLoader.java:**377) > at > org.apache.solr.schema.**FieldTypePluginLoader.create(** > FieldTypePluginLoader.java:95) > at > org.apache.solr.schema.**FieldTypePluginLoader.create(** > FieldTypePluginLoader.java:43) > at > org.apache.solr.util.plugin.**AbstractPluginLoader.load(** > AbstractPluginLoader.java:151) > ... 25 more > Caused by: java.lang.**NumberFormatException: null > at java.lang.Integer.parseInt(**Integer.java:417) > at java.lang.Integer.parseInt(**Integer.java:499) > at > org.apache.lucene.analysis.**miscellaneous.**LimitTokenCountFilterFactory. > **init(**LimitTokenCountFilterFactory.**java:48) > at > org.apache.solr.schema.**FieldTypePluginLoader$3.init(** > FieldTypePluginLoader.java:**367) > at > org.apache.solr.schema.**FieldTypePluginLoader$3.init(** > FieldTypePluginLoader.java:**358) > at > org.apache.solr.util.plugin.**AbstractPluginLoader.load(** > AbstractPluginLoader.java:159) > ... 29 more > > Any ideas? > > Best > Dirk >