Hey I just noticed that this only happens when I enable debug. If &debugQuery=true is on the URL then it goes through the debugging component and that is throwing this exception. It must be getting an empty field object from the phonetic filter factory for numbers or something similar
-----Original Message----- From: Robert Petersen [mailto:rober...@buy.com] Sent: Thursday, July 23, 2009 4:12 PM To: solr-user@lucene.apache.org Subject: RE: Exception searching PhoneticFilterFactory field with number 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