You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Ezequiel Calderara <ez...@gmail.com> on 2011/02/15 14:34:27 UTC

Dismax problem

Hi, im having a problem while trying to do a dismax search.
For example i have the standard query url like this:
It returns 1 result.
But when i try to use the dismax query type i have the following error:

> 15/02/2011 10:27:07 org.apache.solr.common.SolrException log
> GRAVE: java.lang.ArrayIndexOutOfBoundsException: 28
>     at
> org.apache.lucene.search.FieldCacheImpl$StringIndexCache.createValue(FieldCacheImpl.java:721)
>     at
> org.apache.lucene.search.FieldCacheImpl$Cache.get(FieldCacheImpl.java:224)
>     at
> org.apache.lucene.search.FieldCacheImpl.getStringIndex(FieldCacheImpl.java:692)
>     at
> org.apache.solr.search.function.StringIndexDocValues.<init>(StringIndexDocValues.java:35)
>     at
> org.apache.solr.search.function.OrdFieldSource$1.<init>(OrdFieldSource.java:84)
>     at
> org.apache.solr.search.function.OrdFieldSource.getValues(OrdFieldSource.java:58)
>     at
> org.apache.solr.search.function.FunctionQuery$AllScorer.<init>(FunctionQuery.java:123)
>     at
> org.apache.solr.search.function.FunctionQuery$FunctionWeight.scorer(FunctionQuery.java:93)
>     at
> org.apache.lucene.search.BooleanQuery$BooleanWeight.scorer(BooleanQuery.java:297)
>     at
> org.apache.lucene.search.IndexSearcher.searchWithFilter(IndexSearcher.java:268)
>     at
> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:258)
>     at org.apache.lucene.search.Searcher.search(Searcher.java:171)
>     at
> org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:988)
>     at
> org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:884)
>     at
> org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:341)
>     at
> org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:182)
>     at
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:203)
>     at
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
>     at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
>     at
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
>     at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>     at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
>     at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
>     at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163)
>     at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
>     at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556)
>     at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>     at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
>     at
> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:281)
>     at
> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
>     at
> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1568)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
> Source)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>     at java.lang.Thread.run(Unknown Source)
>

The Solr instance is running as a replication slave.
This is the solrconfig.xml: http://pastebin.com/GSv2wBB4
This is the schema.xml: http://pastebin.com/5VpRT5Jj

Any help? How can i find what is causing this exception? I thought that the
dismax didn't throw exceptions...
-- 
______
Ezequiel.

Http://www.ironicnet.com

Re: Dismax problem

Posted by Grijesh <pi...@gmail.com>.
what type of query you are searching?
what is the type of the field?

-----
Thanx:
Grijesh
http://lucidimagination.com
-- 
View this message in context: http://lucene.472066.n3.nabble.com/Dismax-problem-tp2501263p2507147.html
Sent from the Solr - User mailing list archive at Nabble.com.

Re: Dismax problem

Posted by Tomás Fernández Löbbe <to...@gmail.com>.
Hi Ezequiel,
The standard query parser works with all the fields you are using with
dismax? Did you change the schema in some way? What version of Solr are you
on?

Tomás
On Tue, Feb 15, 2011 at 10:34 AM, Ezequiel Calderara <ez...@gmail.com>wrote:

> Hi, im having a problem while trying to do a dismax search.
> For example i have the standard query url like this:
> It returns 1 result.
> But when i try to use the dismax query type i have the following error:
>
> > 15/02/2011 10:27:07 org.apache.solr.common.SolrException log
> > GRAVE: java.lang.ArrayIndexOutOfBoundsException: 28
> >     at
> >
> org.apache.lucene.search.FieldCacheImpl$StringIndexCache.createValue(FieldCacheImpl.java:721)
> >     at
> >
> org.apache.lucene.search.FieldCacheImpl$Cache.get(FieldCacheImpl.java:224)
> >     at
> >
> org.apache.lucene.search.FieldCacheImpl.getStringIndex(FieldCacheImpl.java:692)
> >     at
> >
> org.apache.solr.search.function.StringIndexDocValues.<init>(StringIndexDocValues.java:35)
> >     at
> >
> org.apache.solr.search.function.OrdFieldSource$1.<init>(OrdFieldSource.java:84)
> >     at
> >
> org.apache.solr.search.function.OrdFieldSource.getValues(OrdFieldSource.java:58)
> >     at
> >
> org.apache.solr.search.function.FunctionQuery$AllScorer.<init>(FunctionQuery.java:123)
> >     at
> >
> org.apache.solr.search.function.FunctionQuery$FunctionWeight.scorer(FunctionQuery.java:93)
> >     at
> >
> org.apache.lucene.search.BooleanQuery$BooleanWeight.scorer(BooleanQuery.java:297)
> >     at
> >
> org.apache.lucene.search.IndexSearcher.searchWithFilter(IndexSearcher.java:268)
> >     at
> > org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:258)
> >     at org.apache.lucene.search.Searcher.search(Searcher.java:171)
> >     at
> >
> org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:988)
> >     at
> >
> org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:884)
> >     at
> >
> org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:341)
> >     at
> >
> org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:182)
> >     at
> >
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:203)
> >     at
> >
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
> >     at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
> >     at
> >
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
> >     at
> >
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
> >     at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242)
> >     at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >     at
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
> >     at
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
> >     at
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163)
> >     at
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
> >     at
> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556)
> >     at
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> >     at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
> >     at
> >
> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:281)
> >     at
> >
> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
> >     at
> >
> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1568)
> >     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
> > Source)
> >     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> >     at java.lang.Thread.run(Unknown Source)
> >
>
> The Solr instance is running as a replication slave.
> This is the solrconfig.xml: http://pastebin.com/GSv2wBB4
> This is the schema.xml: http://pastebin.com/5VpRT5Jj
>
> Any help? How can i find what is causing this exception? I thought that the
> dismax didn't throw exceptions...
> --
> ______
> Ezequiel.
>
> Http://www.ironicnet.com
>

Re: Dismax problem

Posted by Yonik Seeley <yo...@lucidimagination.com>.
It looks like you are trying to use a function query on a multi-valued field?

-Yonik
http://lucidimagination.com



On Tue, Feb 15, 2011 at 8:34 AM, Ezequiel Calderara <ez...@gmail.com> wrote:
> Hi, im having a problem while trying to do a dismax search.
> For example i have the standard query url like this:
> It returns 1 result.
> But when i try to use the dismax query type i have the following error:
>
>> 15/02/2011 10:27:07 org.apache.solr.common.SolrException log
>> GRAVE: java.lang.ArrayIndexOutOfBoundsException: 28
>>     at
>> org.apache.lucene.search.FieldCacheImpl$StringIndexCache.createValue(FieldCacheImpl.java:721)
>>     at
>> org.apache.lucene.search.FieldCacheImpl$Cache.get(FieldCacheImpl.java:224)
>>     at
>> org.apache.lucene.search.FieldCacheImpl.getStringIndex(FieldCacheImpl.java:692)
>>     at
>> org.apache.solr.search.function.StringIndexDocValues.<init>(StringIndexDocValues.java:35)
>>     at
>> org.apache.solr.search.function.OrdFieldSource$1.<init>(OrdFieldSource.java:84)
>>     at
>> org.apache.solr.search.function.OrdFieldSource.getValues(OrdFieldSource.java:58)
>>     at
>> org.apache.solr.search.function.FunctionQuery$AllScorer.<init>(FunctionQuery.java:123)
>>     at
>> org.apache.solr.search.function.FunctionQuery$FunctionWeight.scorer(FunctionQuery.java:93)
>>     at
>> org.apache.lucene.search.BooleanQuery$BooleanWeight.scorer(BooleanQuery.java:297)
>>     at
>> org.apache.lucene.search.IndexSearcher.searchWithFilter(IndexSearcher.java:268)
>>     at
>> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:258)
>>     at org.apache.lucene.search.Searcher.search(Searcher.java:171)
>>     at
>> org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:988)
>>     at
>> org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:884)
>>     at
>> org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:341)
>>     at
>> org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:182)
>>     at
>> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:203)
>>     at
>> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
>>     at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
>>     at
>> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
>>     at
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242)
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>     at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
>>     at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
>>     at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163)
>>     at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
>>     at
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556)
>>     at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>     at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
>>     at
>> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:281)
>>     at
>> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1568)
>>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
>> Source)
>>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>>     at java.lang.Thread.run(Unknown Source)
>>
>
> The Solr instance is running as a replication slave.
> This is the solrconfig.xml: http://pastebin.com/GSv2wBB4
> This is the schema.xml: http://pastebin.com/5VpRT5Jj
>
> Any help? How can i find what is causing this exception? I thought that the
> dismax didn't throw exceptions...
> --
> ______
> Ezequiel.
>
> Http://www.ironicnet.com
>