Actually my first question should be, "Is this a known bug or am I doing something wrong?"
The only one thing I can find on this topic is the following statement on the solr-dev group when discussing adding the maxCodeLength, see point two below: Ryan McKinley updated SOLR-813: ------------------------------- Attachment: SOLR-813.patch Here is an update that adresses two concerns: 1. position increments -- this keeps the tokens in sync with the input 2. previous version would stop processing after a number. That is: "aaa 1234 bbb" would not process "bbb" 3. Token types... this changes it to "DoubleMetaphone" rather then "ALPHANUM" -----Original Message----- From: Robert Petersen [mailto:rober...@buy.com] Sent: Thursday, July 23, 2009 3:24 PM To: solr-user@lucene.apache.org Subject: RE: Exception searching PhoneticFilterFactory field with number Sure Otis, and in fact I can narrow it down to just exactly that query, but with user queries I don't think it is right to throw an exception out of phonetic filter factory if the user enters a number. What I am saying is am I going to have to filter the user queries for numerics before using it to search in my double metaphone version of my titles? That doesn't seem good. Jul 23, 2009 2:58:17 PM org.apache.solr.core.SolrCore execute INFO: [10017] webapp=/solr path=/select/ params={debugQuery=true&rows=10&start=0&q=((((allDoublemetaphone:"2343") ^0.5)))} hits=6873 status=500 QTime=3 Jul 23, 2009 2:58:17 PM org.apache.solr.common.SolrException log SEVERE: java.lang.RuntimeException: java.lang.IllegalArgumentException: name and value cannot both be empty at org.apache.solr.search.QueryParsing.toString(QueryParsing.java:470) at org.apache.solr.util.SolrPluginUtils.doStandardDebug(SolrPluginUtils.jav a:399) at org.apache.solr.handler.component.DebugComponent.process(DebugComponent. java:54) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(Search Handler.java:177) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerB ase.java:131) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1205) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.ja va:303) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.j ava:232) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:2 86) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:84 5) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process( Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.IllegalArgumentException: name and value cannot both be empty at org.apache.lucene.document.Field.<init>(Field.java:277) at org.apache.lucene.document.Field.<init>(Field.java:251) at org.apache.solr.search.QueryParsing.writeFieldVal(QueryParsing.java:307) at org.apache.solr.search.QueryParsing.toString(QueryParsing.java:320) at org.apache.solr.search.QueryParsing.toString(QueryParsing.java:467) ... 19 more -----Original Message----- From: Otis Gospodnetic [mailto:otis_gospodne...@yahoo.com] Sent: Monday, July 20, 2009 6:45 PM To: solr-user@lucene.apache.org Subject: Re: Exception searching PhoneticFilterFactory field with number Robert, Can you narrow things down by simplifying the query? For example, I see allDoublemetaphone:"2226", which looks suspicious in the "give me phonetic version of the input" context, but if you could narrow it down, we could probably be able to help more. Otis -- Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch ----- Original Message ---- > From: Robert Petersen <rober...@buy.com> > To: solr-user@lucene.apache.org > Sent: Monday, July 20, 2009 12:11:38 PM > Subject: Exception searching PhoneticFilterFactory field with number > > Reposting in hopes of an answer... > > > > Hello all, > > > > I am getting the following exception whenever a user includes a numeric > term in their search, and the search includes a field defined with a > PhoneticFilterFactory and further it occurs whether I use the > DoubleMetaphone encoder or any other. Has this ever come up before? I > can replicate this with no data in the index at all, but if I search the > field by hand from the solr web interface there is no exception. I am > running the lucid imagination 1.3 certified release in a multicore > master/slaves configuration. I will include the field def and the > search/exception below and let me know if I can include any more > clues... seems like it's trying to make a field with no name/value: > > > > > positionIncrementGap="100"> > > > > > class="solr.WhitespaceTokenizerFactory"/> > > > synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/> > > > ignoreCase="true" words="stopwords.txt"/> > > > > > > > protected="protwords.txt"/> > > > class="solr.RemoveDuplicatesTokenFilterFactory"/> > > > encoder="DoubleMetaphone" inject="false"/> > > > > > > > class="solr.WhitespaceTokenizerFactory"/> > > > synonyms="query_synonyms.txt" ignoreCase="true" expand="true"/> > > > ignoreCase="true" words="stopwords.txt"/> > > > > > > > protected="protwords.txt"/> > > > class="solr.RemoveDuplicatesTokenFilterFactory"/> > > > encoder="DoubleMetaphone" inject="false"/> > > > > > > > > Jul 17, 2009 2:42:18 PM org.apache.solr.core.SolrCore execute > > INFO: [10017] webapp=/solr path=/select/ > params={f.partitionId.facet.limit=10&f.categoryId.facet.missing=false&f. > categoryId.facet.zeros=false&facet=true&facet=true&facet=true&facet=true > &facet=true&facet=true&f.taxonomyCategoryId.facet.limit=-1&f.priceBucket > id.facet.limit=-1&f.partitionId.facet.zeros=false&f.categoryId.facet.sor > t=true&f.categoryId.facet.limit=-1&f.marketplaceIds.facet.limit=10&f.mfg > Id.facet.missing=false&f.priceBucketid.facet.zeros=false&debugQuery=true > &f.priceBucketid.facet.sort=true&f.partitionId.facet.missing=false&f.tax > onomyCategoryId.facet.zeros=false&f.priceBucketid.facet.missing=false&fa > cet.field=categoryId&facet.field=taxonomyCategoryId&facet.field=partitio > nId&facet.field=mfgId&facet.field=marketplaceIds&facet.field=priceBucket > id&f.mfgId.facet.zeros=false&f.taxonomyCategoryId.facet.sort=true&f.mark > etplaceIds.facet.missing=false&rows=48&f.partitionId.facet.sort=true&sta > rt=0&q=(((((sku:"va"+AND+sku:"2226"+AND+sku:"w"))+OR+((upc:"va"+AND+upc: > "2226"+AND+upc:"w"))+OR+((mfgPartNo:"va"+AND+mfgPartNo:"2226"+AND+mfgPar > tNo:"w"))+OR+((title_en_uk:"va"+AND+title_en_uk:"2226"+AND+title_en_uk:" > w"))^8+OR+((moreWords_en_uk:"va"+AND+moreWords_en_uk:"2226"+AND+moreWord > s_en_uk:"w"))^2+OR+((allDoublemetaphone:"va"+AND+allDoublemetaphone:"222 > 6"+AND+allDoublemetaphone:"w"))^0.5)+AND+((_val_:"sum\(product\(boosted, > 300000\),product\(sales,1000\),product\(views,10\),product\(image,100\)\ > )"))))&f.taxonomyCategoryId.facet.missing=false&f.mfgId.facet.limit=10&f > .marketplaceIds.facet.sort=true&f.marketplaceIds.facet.zeros=false&f.mfg > Id.facet.sort=true} hits=0 status=500 QTime=84 > > Jul 17, 2009 2:42:18 PM org.apache.solr.common.SolrException log > > SEVERE: java.lang.RuntimeException: java.lang.IllegalArgumentException: > name and value cannot both be empty > > at > org.apache.solr.search.QueryParsing.toString(QueryParsing.java:470) > > at > org.apache.solr.util.SolrPluginUtils.doStandardDebug(SolrPluginUtils.jav > a:399) > > at > org.apache.solr.handler.component.DebugComponent.process(DebugComponent. > java:54) > > at > org.apache.solr.handler.component.SearchHandler.handleRequestBody(Search > Handler.java:177) > > at > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerB > ase.java:131) > > at > org.apache.solr.core.SolrCore.execute(SolrCore.java:1205) > > at > org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.ja > va:303) > > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.j > ava:232) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:235) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erChain.java:206) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv > e.java:233) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv > e.java:191) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java > :128) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java > :102) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. > java:109) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:2 > 86) > > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:84 > 5) > > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process( > Http11Protocol.java:583) > > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > > at java.lang.Thread.run(Thread.java:619) > > Caused by: java.lang.IllegalArgumentException: name and value cannot > both be empty > > at > org.apache.lucene.document.Field.(Field.java:277) > > at > org.apache.lucene.document.Field.(Field.java:251) > > at > org.apache.solr.search.QueryParsing.writeFieldVal(QueryParsing.java:307) > > at > org.apache.solr.search.QueryParsing.toString(QueryParsing.java:320) > > at > org.apache.solr.search.QueryParsing.toString(QueryParsing.java:402) > > at > org.apache.solr.search.QueryParsing.toString(QueryParsing.java:402) > > at > org.apache.solr.search.QueryParsing.toString(QueryParsing.java:402) > > at > org.apache.solr.search.QueryParsing.toString(QueryParsing.java:467) > > ... 19 more