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