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

Reply via email to